{
  "abi": [
    {
      "inputs": [
        {
          "internalType": "contract VersionedOwnable",
          "name": "implementation",
          "type": "address"
        }
      ],
      "stateMutability": "nonpayable",
      "type": "constructor"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": true,
          "internalType": "address",
          "name": "previousOwner",
          "type": "address"
        },
        {
          "indexed": true,
          "internalType": "address",
          "name": "newOwner",
          "type": "address"
        }
      ],
      "name": "OwnershipTransferred",
      "type": "event"
    },
    {
      "inputs": [],
      "name": "ACTIVATE_AND_SET_OWNER_SIGNATURE",
      "outputs": [
        {
          "internalType": "string",
          "name": "",
          "type": "string"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "ACTIVATE_SIGNATURE",
      "outputs": [
        {
          "internalType": "string",
          "name": "",
          "type": "string"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "getImplementation",
      "outputs": [
        {
          "internalType": "contract VersionedOwnable",
          "name": "",
          "type": "address"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "getProxy",
      "outputs": [
        {
          "internalType": "contract TransparentUpgradeableProxy",
          "name": "",
          "type": "address"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "address",
          "name": "implementation",
          "type": "address"
        },
        {
          "internalType": "address",
          "name": "implementationOwner",
          "type": "address"
        },
        {
          "internalType": "address",
          "name": "activatedBy",
          "type": "address"
        }
      ],
      "name": "getProxyCallData",
      "outputs": [
        {
          "internalType": "bytes",
          "name": "data",
          "type": "bytes"
        }
      ],
      "stateMutability": "pure",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "owner",
      "outputs": [
        {
          "internalType": "address",
          "name": "",
          "type": "address"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "renounceOwnership",
      "outputs": [],
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "contract TransparentUpgradeableProxy",
          "name": "proxy",
          "type": "address"
        }
      ],
      "name": "setProxy",
      "outputs": [],
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "address",
          "name": "newAdmin",
          "type": "address"
        }
      ],
      "name": "transferAdmin",
      "outputs": [],
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "address",
          "name": "newOwner",
          "type": "address"
        }
      ],
      "name": "transferOwnership",
      "outputs": [],
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "contract VersionedOwnable",
          "name": "newImplementation",
          "type": "address"
        }
      ],
      "name": "upgrade",
      "outputs": [],
      "stateMutability": "nonpayable",
      "type": "function"
    }
  ],
  "allSourcePaths": {
    "10": "/home/vscode/.brownie/packages/OpenZeppelin/openzeppelin-contracts@4.8.2/contracts/proxy/Proxy.sol",
    "11": "/home/vscode/.brownie/packages/OpenZeppelin/openzeppelin-contracts@4.8.2/contracts/proxy/beacon/IBeacon.sol",
    "12": "/home/vscode/.brownie/packages/OpenZeppelin/openzeppelin-contracts@4.8.2/contracts/proxy/transparent/TransparentUpgradeableProxy.sol",
    "22": "/home/vscode/.brownie/packages/OpenZeppelin/openzeppelin-contracts@4.8.2/contracts/utils/Address.sol",
    "23": "/home/vscode/.brownie/packages/OpenZeppelin/openzeppelin-contracts@4.8.2/contracts/utils/Context.sol",
    "24": "/home/vscode/.brownie/packages/OpenZeppelin/openzeppelin-contracts@4.8.2/contracts/utils/StorageSlot.sol",
    "46": "contracts/shared/OwnableProxyAdmin.sol",
    "49": "contracts/shared/VersionedOwnable.sol",
    "6": "/home/vscode/.brownie/packages/OpenZeppelin/openzeppelin-contracts@4.8.2/contracts/access/Ownable.sol",
    "7": "/home/vscode/.brownie/packages/OpenZeppelin/openzeppelin-contracts@4.8.2/contracts/interfaces/draft-IERC1822.sol",
    "8": "/home/vscode/.brownie/packages/OpenZeppelin/openzeppelin-contracts@4.8.2/contracts/proxy/ERC1967/ERC1967Proxy.sol",
    "9": "/home/vscode/.brownie/packages/OpenZeppelin/openzeppelin-contracts@4.8.2/contracts/proxy/ERC1967/ERC1967Upgrade.sol"
  },
  "ast": {
    "absolutePath": "contracts/shared/OwnableProxyAdmin.sol",
    "exportedSymbols": {
      "Ownable": [
        12623
      ],
      "OwnableProxyAdmin": [
        5093
      ],
      "TransparentUpgradeableProxy": [
        12771
      ],
      "VersionedOwnable": [
        5965
      ]
    },
    "id": 5094,
    "license": "Apache-2.0",
    "nodeType": "SourceUnit",
    "nodes": [
      {
        "id": 4858,
        "literals": [
          "solidity",
          "^",
          "0.8",
          ".19"
        ],
        "nodeType": "PragmaDirective",
        "src": "39:24:46"
      },
      {
        "absolutePath": "/home/vscode/.brownie/packages/OpenZeppelin/openzeppelin-contracts@4.8.2/contracts/access/Ownable.sol",
        "file": "@openzeppelin/contracts/access/Ownable.sol",
        "id": 4860,
        "nameLocation": "-1:-1:-1",
        "nodeType": "ImportDirective",
        "scope": 5094,
        "sourceUnit": 12624,
        "src": "65:67:46",
        "symbolAliases": [
          {
            "foreign": {
              "id": 4859,
              "name": "Ownable",
              "nodeType": "Identifier",
              "overloadedDeclarations": [],
              "referencedDeclaration": 12623,
              "src": "73:7:46",
              "typeDescriptions": {}
            },
            "nameLocation": "-1:-1:-1"
          }
        ],
        "unitAlias": ""
      },
      {
        "absolutePath": "/home/vscode/.brownie/packages/OpenZeppelin/openzeppelin-contracts@4.8.2/contracts/proxy/transparent/TransparentUpgradeableProxy.sol",
        "file": "@openzeppelin/contracts/proxy/transparent/TransparentUpgradeableProxy.sol",
        "id": 4862,
        "nameLocation": "-1:-1:-1",
        "nodeType": "ImportDirective",
        "scope": 5094,
        "sourceUnit": 12772,
        "src": "133:118:46",
        "symbolAliases": [
          {
            "foreign": {
              "id": 4861,
              "name": "TransparentUpgradeableProxy",
              "nodeType": "Identifier",
              "overloadedDeclarations": [],
              "referencedDeclaration": 12771,
              "src": "141:27:46",
              "typeDescriptions": {}
            },
            "nameLocation": "-1:-1:-1"
          }
        ],
        "unitAlias": ""
      },
      {
        "absolutePath": "contracts/shared/VersionedOwnable.sol",
        "file": "./VersionedOwnable.sol",
        "id": 4864,
        "nameLocation": "-1:-1:-1",
        "nodeType": "ImportDirective",
        "scope": 5094,
        "sourceUnit": 5966,
        "src": "253:56:46",
        "symbolAliases": [
          {
            "foreign": {
              "id": 4863,
              "name": "VersionedOwnable",
              "nodeType": "Identifier",
              "overloadedDeclarations": [],
              "referencedDeclaration": 5965,
              "src": "261:16:46",
              "typeDescriptions": {}
            },
            "nameLocation": "-1:-1:-1"
          }
        ],
        "unitAlias": ""
      },
      {
        "abstract": false,
        "baseContracts": [
          {
            "baseName": {
              "id": 4865,
              "name": "Ownable",
              "nameLocations": [
                "345:7:46"
              ],
              "nodeType": "IdentifierPath",
              "referencedDeclaration": 12623,
              "src": "345:7:46"
            },
            "id": 4866,
            "nodeType": "InheritanceSpecifier",
            "src": "345:7:46"
          }
        ],
        "canonicalName": "OwnableProxyAdmin",
        "contractDependencies": [],
        "contractKind": "contract",
        "fullyImplemented": true,
        "id": 5093,
        "linearizedBaseContracts": [
          5093,
          12623,
          16878
        ],
        "name": "OwnableProxyAdmin",
        "nameLocation": "320:17:46",
        "nodeType": "ContractDefinition",
        "nodes": [
          {
            "constant": true,
            "functionSelector": "68380765",
            "id": 4869,
            "mutability": "constant",
            "name": "ACTIVATE_SIGNATURE",
            "nameLocation": "382:18:46",
            "nodeType": "VariableDeclaration",
            "scope": 5093,
            "src": "359:71:46",
            "stateVariable": true,
            "storageLocation": "default",
            "typeDescriptions": {
              "typeIdentifier": "t_string_memory_ptr",
              "typeString": "string"
            },
            "typeName": {
              "id": 4867,
              "name": "string",
              "nodeType": "ElementaryTypeName",
              "src": "359:6:46",
              "typeDescriptions": {
                "typeIdentifier": "t_string_storage_ptr",
                "typeString": "string"
              }
            },
            "value": {
              "hexValue": "616374697661746528616464726573732c6164647265737329",
              "id": 4868,
              "isConstant": false,
              "isLValue": false,
              "isPure": true,
              "kind": "string",
              "lValueRequested": false,
              "nodeType": "Literal",
              "src": "403:27:46",
              "typeDescriptions": {
                "typeIdentifier": "t_stringliteral_9555c4db9836118e3e8fdea0718f0ea22c186d971b87dd92cab0a4deed1a7665",
                "typeString": "literal_string \"activate(address,address)\""
              },
              "value": "activate(address,address)"
            },
            "visibility": "public"
          },
          {
            "constant": true,
            "functionSelector": "8765c329",
            "id": 4872,
            "mutability": "constant",
            "name": "ACTIVATE_AND_SET_OWNER_SIGNATURE",
            "nameLocation": "459:32:46",
            "nodeType": "VariableDeclaration",
            "scope": 5093,
            "src": "436:104:46",
            "stateVariable": true,
            "storageLocation": "default",
            "typeDescriptions": {
              "typeIdentifier": "t_string_memory_ptr",
              "typeString": "string"
            },
            "typeName": {
              "id": 4870,
              "name": "string",
              "nodeType": "ElementaryTypeName",
              "src": "436:6:46",
              "typeDescriptions": {
                "typeIdentifier": "t_string_storage_ptr",
                "typeString": "string"
              }
            },
            "value": {
              "hexValue": "6163746976617465416e645365744f776e657228616464726573732c616464726573732c6164647265737329",
              "id": 4871,
              "isConstant": false,
              "isLValue": false,
              "isPure": true,
              "kind": "string",
              "lValueRequested": false,
              "nodeType": "Literal",
              "src": "494:46:46",
              "typeDescriptions": {
                "typeIdentifier": "t_stringliteral_8e2586898501438f09ce73a1c3b09dabeef3881014724f60511363ef4a15257d",
                "typeString": "literal_string \"activateAndSetOwner(address,address,address)\""
              },
              "value": "activateAndSetOwner(address,address,address)"
            },
            "visibility": "public"
          },
          {
            "constant": false,
            "id": 4875,
            "mutability": "mutable",
            "name": "_implementation",
            "nameLocation": "572:15:46",
            "nodeType": "VariableDeclaration",
            "scope": 5093,
            "src": "547:40:46",
            "stateVariable": true,
            "storageLocation": "default",
            "typeDescriptions": {
              "typeIdentifier": "t_contract$_VersionedOwnable_$5965",
              "typeString": "contract VersionedOwnable"
            },
            "typeName": {
              "id": 4874,
              "nodeType": "UserDefinedTypeName",
              "pathNode": {
                "id": 4873,
                "name": "VersionedOwnable",
                "nameLocations": [
                  "547:16:46"
                ],
                "nodeType": "IdentifierPath",
                "referencedDeclaration": 5965,
                "src": "547:16:46"
              },
              "referencedDeclaration": 5965,
              "src": "547:16:46",
              "typeDescriptions": {
                "typeIdentifier": "t_contract$_VersionedOwnable_$5965",
                "typeString": "contract VersionedOwnable"
              }
            },
            "visibility": "private"
          },
          {
            "constant": false,
            "id": 4878,
            "mutability": "mutable",
            "name": "_proxy",
            "nameLocation": "629:6:46",
            "nodeType": "VariableDeclaration",
            "scope": 5093,
            "src": "593:42:46",
            "stateVariable": true,
            "storageLocation": "default",
            "typeDescriptions": {
              "typeIdentifier": "t_contract$_TransparentUpgradeableProxy_$12771",
              "typeString": "contract TransparentUpgradeableProxy"
            },
            "typeName": {
              "id": 4877,
              "nodeType": "UserDefinedTypeName",
              "pathNode": {
                "id": 4876,
                "name": "TransparentUpgradeableProxy",
                "nameLocations": [
                  "593:27:46"
                ],
                "nodeType": "IdentifierPath",
                "referencedDeclaration": 12771,
                "src": "593:27:46"
              },
              "referencedDeclaration": 12771,
              "src": "593:27:46",
              "typeDescriptions": {
                "typeIdentifier": "t_contract$_TransparentUpgradeableProxy_$12771",
                "typeString": "contract TransparentUpgradeableProxy"
              }
            },
            "visibility": "private"
          },
          {
            "body": {
              "id": 4903,
              "nodeType": "Block",
              "src": "723:142:46",
              "statements": [
                {
                  "expression": {
                    "arguments": [
                      {
                        "commonType": {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        },
                        "id": 4895,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "lValueRequested": false,
                        "leftExpression": {
                          "arguments": [
                            {
                              "id": 4889,
                              "name": "implementation",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 4881,
                              "src": "749:14:46",
                              "typeDescriptions": {
                                "typeIdentifier": "t_contract$_VersionedOwnable_$5965",
                                "typeString": "contract VersionedOwnable"
                              }
                            }
                          ],
                          "expression": {
                            "argumentTypes": [
                              {
                                "typeIdentifier": "t_contract$_VersionedOwnable_$5965",
                                "typeString": "contract VersionedOwnable"
                              }
                            ],
                            "id": 4888,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": true,
                            "lValueRequested": false,
                            "nodeType": "ElementaryTypeNameExpression",
                            "src": "741:7:46",
                            "typeDescriptions": {
                              "typeIdentifier": "t_type$_t_address_$",
                              "typeString": "type(address)"
                            },
                            "typeName": {
                              "id": 4887,
                              "name": "address",
                              "nodeType": "ElementaryTypeName",
                              "src": "741:7:46",
                              "typeDescriptions": {}
                            }
                          },
                          "id": 4890,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "kind": "typeConversion",
                          "lValueRequested": false,
                          "nameLocations": [],
                          "names": [],
                          "nodeType": "FunctionCall",
                          "src": "741:23:46",
                          "tryCall": false,
                          "typeDescriptions": {
                            "typeIdentifier": "t_address",
                            "typeString": "address"
                          }
                        },
                        "nodeType": "BinaryOperation",
                        "operator": "!=",
                        "rightExpression": {
                          "arguments": [
                            {
                              "hexValue": "30",
                              "id": 4893,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": true,
                              "kind": "number",
                              "lValueRequested": false,
                              "nodeType": "Literal",
                              "src": "776:1:46",
                              "typeDescriptions": {
                                "typeIdentifier": "t_rational_0_by_1",
                                "typeString": "int_const 0"
                              },
                              "value": "0"
                            }
                          ],
                          "expression": {
                            "argumentTypes": [
                              {
                                "typeIdentifier": "t_rational_0_by_1",
                                "typeString": "int_const 0"
                              }
                            ],
                            "id": 4892,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": true,
                            "lValueRequested": false,
                            "nodeType": "ElementaryTypeNameExpression",
                            "src": "768:7:46",
                            "typeDescriptions": {
                              "typeIdentifier": "t_type$_t_address_$",
                              "typeString": "type(address)"
                            },
                            "typeName": {
                              "id": 4891,
                              "name": "address",
                              "nodeType": "ElementaryTypeName",
                              "src": "768:7:46",
                              "typeDescriptions": {}
                            }
                          },
                          "id": 4894,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": true,
                          "kind": "typeConversion",
                          "lValueRequested": false,
                          "nameLocations": [],
                          "names": [],
                          "nodeType": "FunctionCall",
                          "src": "768:10:46",
                          "tryCall": false,
                          "typeDescriptions": {
                            "typeIdentifier": "t_address",
                            "typeString": "address"
                          }
                        },
                        "src": "741:37:46",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        }
                      },
                      {
                        "hexValue": "4552524f523a5058412d3030313a494d504c454d454e544154494f4e5f5a45524f",
                        "id": 4896,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": true,
                        "kind": "string",
                        "lValueRequested": false,
                        "nodeType": "Literal",
                        "src": "780:35:46",
                        "typeDescriptions": {
                          "typeIdentifier": "t_stringliteral_4d5cd7f0eea0e904925724b1e872a2072b31889e40a08f6ac6dcecc2e16694f5",
                          "typeString": "literal_string \"ERROR:PXA-001:IMPLEMENTATION_ZERO\""
                        },
                        "value": "ERROR:PXA-001:IMPLEMENTATION_ZERO"
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        },
                        {
                          "typeIdentifier": "t_stringliteral_4d5cd7f0eea0e904925724b1e872a2072b31889e40a08f6ac6dcecc2e16694f5",
                          "typeString": "literal_string \"ERROR:PXA-001:IMPLEMENTATION_ZERO\""
                        }
                      ],
                      "id": 4886,
                      "name": "require",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [
                        -18,
                        -18
                      ],
                      "referencedDeclaration": -18,
                      "src": "733:7:46",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$",
                        "typeString": "function (bool,string memory) pure"
                      }
                    },
                    "id": 4897,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "nameLocations": [],
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "733:83:46",
                    "tryCall": false,
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 4898,
                  "nodeType": "ExpressionStatement",
                  "src": "733:83:46"
                },
                {
                  "expression": {
                    "id": 4901,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftHandSide": {
                      "id": 4899,
                      "name": "_implementation",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 4875,
                      "src": "826:15:46",
                      "typeDescriptions": {
                        "typeIdentifier": "t_contract$_VersionedOwnable_$5965",
                        "typeString": "contract VersionedOwnable"
                      }
                    },
                    "nodeType": "Assignment",
                    "operator": "=",
                    "rightHandSide": {
                      "id": 4900,
                      "name": "implementation",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 4881,
                      "src": "844:14:46",
                      "typeDescriptions": {
                        "typeIdentifier": "t_contract$_VersionedOwnable_$5965",
                        "typeString": "contract VersionedOwnable"
                      }
                    },
                    "src": "826:32:46",
                    "typeDescriptions": {
                      "typeIdentifier": "t_contract$_VersionedOwnable_$5965",
                      "typeString": "contract VersionedOwnable"
                    }
                  },
                  "id": 4902,
                  "nodeType": "ExpressionStatement",
                  "src": "826:32:46"
                }
              ]
            },
            "id": 4904,
            "implemented": true,
            "kind": "constructor",
            "modifiers": [
              {
                "arguments": [],
                "id": 4884,
                "kind": "baseConstructorSpecifier",
                "modifierName": {
                  "id": 4883,
                  "name": "Ownable",
                  "nameLocations": [
                    "709:7:46"
                  ],
                  "nodeType": "IdentifierPath",
                  "referencedDeclaration": 12623,
                  "src": "709:7:46"
                },
                "nodeType": "ModifierInvocation",
                "src": "709:9:46"
              }
            ],
            "name": "",
            "nameLocation": "-1:-1:-1",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 4882,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 4881,
                  "mutability": "mutable",
                  "name": "implementation",
                  "nameLocation": "680:14:46",
                  "nodeType": "VariableDeclaration",
                  "scope": 4904,
                  "src": "663:31:46",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_contract$_VersionedOwnable_$5965",
                    "typeString": "contract VersionedOwnable"
                  },
                  "typeName": {
                    "id": 4880,
                    "nodeType": "UserDefinedTypeName",
                    "pathNode": {
                      "id": 4879,
                      "name": "VersionedOwnable",
                      "nameLocations": [
                        "663:16:46"
                      ],
                      "nodeType": "IdentifierPath",
                      "referencedDeclaration": 5965,
                      "src": "663:16:46"
                    },
                    "referencedDeclaration": 5965,
                    "src": "663:16:46",
                    "typeDescriptions": {
                      "typeIdentifier": "t_contract$_VersionedOwnable_$5965",
                      "typeString": "contract VersionedOwnable"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "653:47:46"
            },
            "returnParameters": {
              "id": 4885,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "723:0:46"
            },
            "scope": 5093,
            "src": "642:223:46",
            "stateMutability": "nonpayable",
            "virtual": false,
            "visibility": "public"
          },
          {
            "body": {
              "id": 4942,
              "nodeType": "Block",
              "src": "964:189:46",
              "statements": [
                {
                  "expression": {
                    "arguments": [
                      {
                        "commonType": {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        },
                        "id": 4921,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "lValueRequested": false,
                        "leftExpression": {
                          "arguments": [
                            {
                              "id": 4915,
                              "name": "_proxy",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 4878,
                              "src": "990:6:46",
                              "typeDescriptions": {
                                "typeIdentifier": "t_contract$_TransparentUpgradeableProxy_$12771",
                                "typeString": "contract TransparentUpgradeableProxy"
                              }
                            }
                          ],
                          "expression": {
                            "argumentTypes": [
                              {
                                "typeIdentifier": "t_contract$_TransparentUpgradeableProxy_$12771",
                                "typeString": "contract TransparentUpgradeableProxy"
                              }
                            ],
                            "id": 4914,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": true,
                            "lValueRequested": false,
                            "nodeType": "ElementaryTypeNameExpression",
                            "src": "982:7:46",
                            "typeDescriptions": {
                              "typeIdentifier": "t_type$_t_address_$",
                              "typeString": "type(address)"
                            },
                            "typeName": {
                              "id": 4913,
                              "name": "address",
                              "nodeType": "ElementaryTypeName",
                              "src": "982:7:46",
                              "typeDescriptions": {}
                            }
                          },
                          "id": 4916,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "kind": "typeConversion",
                          "lValueRequested": false,
                          "nameLocations": [],
                          "names": [],
                          "nodeType": "FunctionCall",
                          "src": "982:15:46",
                          "tryCall": false,
                          "typeDescriptions": {
                            "typeIdentifier": "t_address",
                            "typeString": "address"
                          }
                        },
                        "nodeType": "BinaryOperation",
                        "operator": "==",
                        "rightExpression": {
                          "arguments": [
                            {
                              "hexValue": "30",
                              "id": 4919,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": true,
                              "kind": "number",
                              "lValueRequested": false,
                              "nodeType": "Literal",
                              "src": "1009:1:46",
                              "typeDescriptions": {
                                "typeIdentifier": "t_rational_0_by_1",
                                "typeString": "int_const 0"
                              },
                              "value": "0"
                            }
                          ],
                          "expression": {
                            "argumentTypes": [
                              {
                                "typeIdentifier": "t_rational_0_by_1",
                                "typeString": "int_const 0"
                              }
                            ],
                            "id": 4918,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": true,
                            "lValueRequested": false,
                            "nodeType": "ElementaryTypeNameExpression",
                            "src": "1001:7:46",
                            "typeDescriptions": {
                              "typeIdentifier": "t_type$_t_address_$",
                              "typeString": "type(address)"
                            },
                            "typeName": {
                              "id": 4917,
                              "name": "address",
                              "nodeType": "ElementaryTypeName",
                              "src": "1001:7:46",
                              "typeDescriptions": {}
                            }
                          },
                          "id": 4920,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": true,
                          "kind": "typeConversion",
                          "lValueRequested": false,
                          "nameLocations": [],
                          "names": [],
                          "nodeType": "FunctionCall",
                          "src": "1001:10:46",
                          "tryCall": false,
                          "typeDescriptions": {
                            "typeIdentifier": "t_address",
                            "typeString": "address"
                          }
                        },
                        "src": "982:29:46",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        }
                      },
                      {
                        "hexValue": "4552524f523a5058412d3031303a50524f58595f5345545f414c5245414459",
                        "id": 4922,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": true,
                        "kind": "string",
                        "lValueRequested": false,
                        "nodeType": "Literal",
                        "src": "1013:33:46",
                        "typeDescriptions": {
                          "typeIdentifier": "t_stringliteral_f42f503fa98174786f0db958771b0081683e54aec79c123209036d9b6d205c08",
                          "typeString": "literal_string \"ERROR:PXA-010:PROXY_SET_ALREADY\""
                        },
                        "value": "ERROR:PXA-010:PROXY_SET_ALREADY"
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        },
                        {
                          "typeIdentifier": "t_stringliteral_f42f503fa98174786f0db958771b0081683e54aec79c123209036d9b6d205c08",
                          "typeString": "literal_string \"ERROR:PXA-010:PROXY_SET_ALREADY\""
                        }
                      ],
                      "id": 4912,
                      "name": "require",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [
                        -18,
                        -18
                      ],
                      "referencedDeclaration": -18,
                      "src": "974:7:46",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$",
                        "typeString": "function (bool,string memory) pure"
                      }
                    },
                    "id": 4923,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "nameLocations": [],
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "974:73:46",
                    "tryCall": false,
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 4924,
                  "nodeType": "ExpressionStatement",
                  "src": "974:73:46"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "commonType": {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        },
                        "id": 4934,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "lValueRequested": false,
                        "leftExpression": {
                          "arguments": [
                            {
                              "id": 4928,
                              "name": "proxy",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 4907,
                              "src": "1073:5:46",
                              "typeDescriptions": {
                                "typeIdentifier": "t_contract$_TransparentUpgradeableProxy_$12771",
                                "typeString": "contract TransparentUpgradeableProxy"
                              }
                            }
                          ],
                          "expression": {
                            "argumentTypes": [
                              {
                                "typeIdentifier": "t_contract$_TransparentUpgradeableProxy_$12771",
                                "typeString": "contract TransparentUpgradeableProxy"
                              }
                            ],
                            "id": 4927,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": true,
                            "lValueRequested": false,
                            "nodeType": "ElementaryTypeNameExpression",
                            "src": "1065:7:46",
                            "typeDescriptions": {
                              "typeIdentifier": "t_type$_t_address_$",
                              "typeString": "type(address)"
                            },
                            "typeName": {
                              "id": 4926,
                              "name": "address",
                              "nodeType": "ElementaryTypeName",
                              "src": "1065:7:46",
                              "typeDescriptions": {}
                            }
                          },
                          "id": 4929,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "kind": "typeConversion",
                          "lValueRequested": false,
                          "nameLocations": [],
                          "names": [],
                          "nodeType": "FunctionCall",
                          "src": "1065:14:46",
                          "tryCall": false,
                          "typeDescriptions": {
                            "typeIdentifier": "t_address",
                            "typeString": "address"
                          }
                        },
                        "nodeType": "BinaryOperation",
                        "operator": "!=",
                        "rightExpression": {
                          "arguments": [
                            {
                              "hexValue": "30",
                              "id": 4932,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": true,
                              "kind": "number",
                              "lValueRequested": false,
                              "nodeType": "Literal",
                              "src": "1091:1:46",
                              "typeDescriptions": {
                                "typeIdentifier": "t_rational_0_by_1",
                                "typeString": "int_const 0"
                              },
                              "value": "0"
                            }
                          ],
                          "expression": {
                            "argumentTypes": [
                              {
                                "typeIdentifier": "t_rational_0_by_1",
                                "typeString": "int_const 0"
                              }
                            ],
                            "id": 4931,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": true,
                            "lValueRequested": false,
                            "nodeType": "ElementaryTypeNameExpression",
                            "src": "1083:7:46",
                            "typeDescriptions": {
                              "typeIdentifier": "t_type$_t_address_$",
                              "typeString": "type(address)"
                            },
                            "typeName": {
                              "id": 4930,
                              "name": "address",
                              "nodeType": "ElementaryTypeName",
                              "src": "1083:7:46",
                              "typeDescriptions": {}
                            }
                          },
                          "id": 4933,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": true,
                          "kind": "typeConversion",
                          "lValueRequested": false,
                          "nameLocations": [],
                          "names": [],
                          "nodeType": "FunctionCall",
                          "src": "1083:10:46",
                          "tryCall": false,
                          "typeDescriptions": {
                            "typeIdentifier": "t_address",
                            "typeString": "address"
                          }
                        },
                        "src": "1065:28:46",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        }
                      },
                      {
                        "hexValue": "4552524f523a5058412d3031313a50524f58595f5a45524f",
                        "id": 4935,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": true,
                        "kind": "string",
                        "lValueRequested": false,
                        "nodeType": "Literal",
                        "src": "1095:26:46",
                        "typeDescriptions": {
                          "typeIdentifier": "t_stringliteral_5c98f5d5a356e842a7ab3a8afa12f2b6a48abe1480b0be6404e09ec889fee76a",
                          "typeString": "literal_string \"ERROR:PXA-011:PROXY_ZERO\""
                        },
                        "value": "ERROR:PXA-011:PROXY_ZERO"
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        },
                        {
                          "typeIdentifier": "t_stringliteral_5c98f5d5a356e842a7ab3a8afa12f2b6a48abe1480b0be6404e09ec889fee76a",
                          "typeString": "literal_string \"ERROR:PXA-011:PROXY_ZERO\""
                        }
                      ],
                      "id": 4925,
                      "name": "require",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [
                        -18,
                        -18
                      ],
                      "referencedDeclaration": -18,
                      "src": "1057:7:46",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$",
                        "typeString": "function (bool,string memory) pure"
                      }
                    },
                    "id": 4936,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "nameLocations": [],
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "1057:65:46",
                    "tryCall": false,
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 4937,
                  "nodeType": "ExpressionStatement",
                  "src": "1057:65:46"
                },
                {
                  "expression": {
                    "id": 4940,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftHandSide": {
                      "id": 4938,
                      "name": "_proxy",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 4878,
                      "src": "1132:6:46",
                      "typeDescriptions": {
                        "typeIdentifier": "t_contract$_TransparentUpgradeableProxy_$12771",
                        "typeString": "contract TransparentUpgradeableProxy"
                      }
                    },
                    "nodeType": "Assignment",
                    "operator": "=",
                    "rightHandSide": {
                      "id": 4939,
                      "name": "proxy",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 4907,
                      "src": "1141:5:46",
                      "typeDescriptions": {
                        "typeIdentifier": "t_contract$_TransparentUpgradeableProxy_$12771",
                        "typeString": "contract TransparentUpgradeableProxy"
                      }
                    },
                    "src": "1132:14:46",
                    "typeDescriptions": {
                      "typeIdentifier": "t_contract$_TransparentUpgradeableProxy_$12771",
                      "typeString": "contract TransparentUpgradeableProxy"
                    }
                  },
                  "id": 4941,
                  "nodeType": "ExpressionStatement",
                  "src": "1132:14:46"
                }
              ]
            },
            "functionSelector": "97107d6d",
            "id": 4943,
            "implemented": true,
            "kind": "function",
            "modifiers": [
              {
                "id": 4910,
                "kind": "modifierInvocation",
                "modifierName": {
                  "id": 4909,
                  "name": "onlyOwner",
                  "nameLocations": [
                    "950:9:46"
                  ],
                  "nodeType": "IdentifierPath",
                  "referencedDeclaration": 12542,
                  "src": "950:9:46"
                },
                "nodeType": "ModifierInvocation",
                "src": "950:9:46"
              }
            ],
            "name": "setProxy",
            "nameLocation": "881:8:46",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 4908,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 4907,
                  "mutability": "mutable",
                  "name": "proxy",
                  "nameLocation": "918:5:46",
                  "nodeType": "VariableDeclaration",
                  "scope": 4943,
                  "src": "890:33:46",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_contract$_TransparentUpgradeableProxy_$12771",
                    "typeString": "contract TransparentUpgradeableProxy"
                  },
                  "typeName": {
                    "id": 4906,
                    "nodeType": "UserDefinedTypeName",
                    "pathNode": {
                      "id": 4905,
                      "name": "TransparentUpgradeableProxy",
                      "nameLocations": [
                        "890:27:46"
                      ],
                      "nodeType": "IdentifierPath",
                      "referencedDeclaration": 12771,
                      "src": "890:27:46"
                    },
                    "referencedDeclaration": 12771,
                    "src": "890:27:46",
                    "typeDescriptions": {
                      "typeIdentifier": "t_contract$_TransparentUpgradeableProxy_$12771",
                      "typeString": "contract TransparentUpgradeableProxy"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "889:35:46"
            },
            "returnParameters": {
              "id": 4911,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "964:0:46"
            },
            "scope": 5093,
            "src": "872:281:46",
            "stateMutability": "nonpayable",
            "virtual": false,
            "visibility": "external"
          },
          {
            "body": {
              "id": 4962,
              "nodeType": "Block",
              "src": "1359:180:46",
              "statements": [
                {
                  "expression": {
                    "arguments": [
                      {
                        "id": 4956,
                        "name": "ACTIVATE_AND_SET_OWNER_SIGNATURE",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 4872,
                        "src": "1413:32:46",
                        "typeDescriptions": {
                          "typeIdentifier": "t_string_memory_ptr",
                          "typeString": "string memory"
                        }
                      },
                      {
                        "id": 4957,
                        "name": "implementation",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 4945,
                        "src": "1459:14:46",
                        "typeDescriptions": {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        }
                      },
                      {
                        "id": 4958,
                        "name": "implementationOwner",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 4947,
                        "src": "1487:19:46",
                        "typeDescriptions": {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        }
                      },
                      {
                        "id": 4959,
                        "name": "activatedBy",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 4949,
                        "src": "1520:11:46",
                        "typeDescriptions": {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_string_memory_ptr",
                          "typeString": "string memory"
                        },
                        {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        },
                        {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        },
                        {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        }
                      ],
                      "expression": {
                        "id": 4954,
                        "name": "abi",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": -1,
                        "src": "1376:3:46",
                        "typeDescriptions": {
                          "typeIdentifier": "t_magic_abi",
                          "typeString": "abi"
                        }
                      },
                      "id": 4955,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": true,
                      "lValueRequested": false,
                      "memberLocation": "1380:19:46",
                      "memberName": "encodeWithSignature",
                      "nodeType": "MemberAccess",
                      "src": "1376:23:46",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
                        "typeString": "function (string memory) pure returns (bytes memory)"
                      }
                    },
                    "id": 4960,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "nameLocations": [],
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "1376:156:46",
                    "tryCall": false,
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes_memory_ptr",
                      "typeString": "bytes memory"
                    }
                  },
                  "functionReturnParameters": 4953,
                  "id": 4961,
                  "nodeType": "Return",
                  "src": "1369:163:46"
                }
              ]
            },
            "functionSelector": "e49771bf",
            "id": 4963,
            "implemented": true,
            "kind": "function",
            "modifiers": [],
            "name": "getProxyCallData",
            "nameLocation": "1169:16:46",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 4950,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 4945,
                  "mutability": "mutable",
                  "name": "implementation",
                  "nameLocation": "1203:14:46",
                  "nodeType": "VariableDeclaration",
                  "scope": 4963,
                  "src": "1195:22:46",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 4944,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "1195:7:46",
                    "stateMutability": "nonpayable",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 4947,
                  "mutability": "mutable",
                  "name": "implementationOwner",
                  "nameLocation": "1235:19:46",
                  "nodeType": "VariableDeclaration",
                  "scope": 4963,
                  "src": "1227:27:46",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 4946,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "1227:7:46",
                    "stateMutability": "nonpayable",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 4949,
                  "mutability": "mutable",
                  "name": "activatedBy",
                  "nameLocation": "1272:11:46",
                  "nodeType": "VariableDeclaration",
                  "scope": 4963,
                  "src": "1264:19:46",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 4948,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "1264:7:46",
                    "stateMutability": "nonpayable",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "1185:104:46"
            },
            "returnParameters": {
              "id": 4953,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 4952,
                  "mutability": "mutable",
                  "name": "data",
                  "nameLocation": "1349:4:46",
                  "nodeType": "VariableDeclaration",
                  "scope": 4963,
                  "src": "1336:17:46",
                  "stateVariable": false,
                  "storageLocation": "memory",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes_memory_ptr",
                    "typeString": "bytes"
                  },
                  "typeName": {
                    "id": 4951,
                    "name": "bytes",
                    "nodeType": "ElementaryTypeName",
                    "src": "1336:5:46",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes_storage_ptr",
                      "typeString": "bytes"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "1335:19:46"
            },
            "scope": 5093,
            "src": "1160:379:46",
            "stateMutability": "pure",
            "virtual": false,
            "visibility": "external"
          },
          {
            "body": {
              "id": 5037,
              "nodeType": "Block",
              "src": "1639:619:46",
              "statements": [
                {
                  "expression": {
                    "arguments": [
                      {
                        "commonType": {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        },
                        "id": 4980,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "lValueRequested": false,
                        "leftExpression": {
                          "arguments": [
                            {
                              "id": 4974,
                              "name": "_proxy",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 4878,
                              "src": "1665:6:46",
                              "typeDescriptions": {
                                "typeIdentifier": "t_contract$_TransparentUpgradeableProxy_$12771",
                                "typeString": "contract TransparentUpgradeableProxy"
                              }
                            }
                          ],
                          "expression": {
                            "argumentTypes": [
                              {
                                "typeIdentifier": "t_contract$_TransparentUpgradeableProxy_$12771",
                                "typeString": "contract TransparentUpgradeableProxy"
                              }
                            ],
                            "id": 4973,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": true,
                            "lValueRequested": false,
                            "nodeType": "ElementaryTypeNameExpression",
                            "src": "1657:7:46",
                            "typeDescriptions": {
                              "typeIdentifier": "t_type$_t_address_$",
                              "typeString": "type(address)"
                            },
                            "typeName": {
                              "id": 4972,
                              "name": "address",
                              "nodeType": "ElementaryTypeName",
                              "src": "1657:7:46",
                              "typeDescriptions": {}
                            }
                          },
                          "id": 4975,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "kind": "typeConversion",
                          "lValueRequested": false,
                          "nameLocations": [],
                          "names": [],
                          "nodeType": "FunctionCall",
                          "src": "1657:15:46",
                          "tryCall": false,
                          "typeDescriptions": {
                            "typeIdentifier": "t_address",
                            "typeString": "address"
                          }
                        },
                        "nodeType": "BinaryOperation",
                        "operator": "!=",
                        "rightExpression": {
                          "arguments": [
                            {
                              "hexValue": "30",
                              "id": 4978,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": true,
                              "kind": "number",
                              "lValueRequested": false,
                              "nodeType": "Literal",
                              "src": "1684:1:46",
                              "typeDescriptions": {
                                "typeIdentifier": "t_rational_0_by_1",
                                "typeString": "int_const 0"
                              },
                              "value": "0"
                            }
                          ],
                          "expression": {
                            "argumentTypes": [
                              {
                                "typeIdentifier": "t_rational_0_by_1",
                                "typeString": "int_const 0"
                              }
                            ],
                            "id": 4977,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": true,
                            "lValueRequested": false,
                            "nodeType": "ElementaryTypeNameExpression",
                            "src": "1676:7:46",
                            "typeDescriptions": {
                              "typeIdentifier": "t_type$_t_address_$",
                              "typeString": "type(address)"
                            },
                            "typeName": {
                              "id": 4976,
                              "name": "address",
                              "nodeType": "ElementaryTypeName",
                              "src": "1676:7:46",
                              "typeDescriptions": {}
                            }
                          },
                          "id": 4979,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": true,
                          "kind": "typeConversion",
                          "lValueRequested": false,
                          "nameLocations": [],
                          "names": [],
                          "nodeType": "FunctionCall",
                          "src": "1676:10:46",
                          "tryCall": false,
                          "typeDescriptions": {
                            "typeIdentifier": "t_address",
                            "typeString": "address"
                          }
                        },
                        "src": "1657:29:46",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        }
                      },
                      {
                        "hexValue": "4552524f523a5058412d3032303a50524f58595f4e4f545f534554",
                        "id": 4981,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": true,
                        "kind": "string",
                        "lValueRequested": false,
                        "nodeType": "Literal",
                        "src": "1688:29:46",
                        "typeDescriptions": {
                          "typeIdentifier": "t_stringliteral_29d687c387d987a945e6f8f099cdb4fc2ab0d24065e93740caf0160490bbf2e2",
                          "typeString": "literal_string \"ERROR:PXA-020:PROXY_NOT_SET\""
                        },
                        "value": "ERROR:PXA-020:PROXY_NOT_SET"
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        },
                        {
                          "typeIdentifier": "t_stringliteral_29d687c387d987a945e6f8f099cdb4fc2ab0d24065e93740caf0160490bbf2e2",
                          "typeString": "literal_string \"ERROR:PXA-020:PROXY_NOT_SET\""
                        }
                      ],
                      "id": 4971,
                      "name": "require",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [
                        -18,
                        -18
                      ],
                      "referencedDeclaration": -18,
                      "src": "1649:7:46",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$",
                        "typeString": "function (bool,string memory) pure"
                      }
                    },
                    "id": 4982,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "nameLocations": [],
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "1649:69:46",
                    "tryCall": false,
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 4983,
                  "nodeType": "ExpressionStatement",
                  "src": "1649:69:46"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "commonType": {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        },
                        "id": 4993,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "lValueRequested": false,
                        "leftExpression": {
                          "arguments": [
                            {
                              "id": 4987,
                              "name": "newImplementation",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 4966,
                              "src": "1744:17:46",
                              "typeDescriptions": {
                                "typeIdentifier": "t_contract$_VersionedOwnable_$5965",
                                "typeString": "contract VersionedOwnable"
                              }
                            }
                          ],
                          "expression": {
                            "argumentTypes": [
                              {
                                "typeIdentifier": "t_contract$_VersionedOwnable_$5965",
                                "typeString": "contract VersionedOwnable"
                              }
                            ],
                            "id": 4986,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": true,
                            "lValueRequested": false,
                            "nodeType": "ElementaryTypeNameExpression",
                            "src": "1736:7:46",
                            "typeDescriptions": {
                              "typeIdentifier": "t_type$_t_address_$",
                              "typeString": "type(address)"
                            },
                            "typeName": {
                              "id": 4985,
                              "name": "address",
                              "nodeType": "ElementaryTypeName",
                              "src": "1736:7:46",
                              "typeDescriptions": {}
                            }
                          },
                          "id": 4988,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "kind": "typeConversion",
                          "lValueRequested": false,
                          "nameLocations": [],
                          "names": [],
                          "nodeType": "FunctionCall",
                          "src": "1736:26:46",
                          "tryCall": false,
                          "typeDescriptions": {
                            "typeIdentifier": "t_address",
                            "typeString": "address"
                          }
                        },
                        "nodeType": "BinaryOperation",
                        "operator": "!=",
                        "rightExpression": {
                          "arguments": [
                            {
                              "hexValue": "30",
                              "id": 4991,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": true,
                              "kind": "number",
                              "lValueRequested": false,
                              "nodeType": "Literal",
                              "src": "1774:1:46",
                              "typeDescriptions": {
                                "typeIdentifier": "t_rational_0_by_1",
                                "typeString": "int_const 0"
                              },
                              "value": "0"
                            }
                          ],
                          "expression": {
                            "argumentTypes": [
                              {
                                "typeIdentifier": "t_rational_0_by_1",
                                "typeString": "int_const 0"
                              }
                            ],
                            "id": 4990,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": true,
                            "lValueRequested": false,
                            "nodeType": "ElementaryTypeNameExpression",
                            "src": "1766:7:46",
                            "typeDescriptions": {
                              "typeIdentifier": "t_type$_t_address_$",
                              "typeString": "type(address)"
                            },
                            "typeName": {
                              "id": 4989,
                              "name": "address",
                              "nodeType": "ElementaryTypeName",
                              "src": "1766:7:46",
                              "typeDescriptions": {}
                            }
                          },
                          "id": 4992,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": true,
                          "kind": "typeConversion",
                          "lValueRequested": false,
                          "nameLocations": [],
                          "names": [],
                          "nodeType": "FunctionCall",
                          "src": "1766:10:46",
                          "tryCall": false,
                          "typeDescriptions": {
                            "typeIdentifier": "t_address",
                            "typeString": "address"
                          }
                        },
                        "src": "1736:40:46",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        }
                      },
                      {
                        "hexValue": "4552524f523a5058412d3032313a494d504c454d454e544154494f4e5f5a45524f",
                        "id": 4994,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": true,
                        "kind": "string",
                        "lValueRequested": false,
                        "nodeType": "Literal",
                        "src": "1778:35:46",
                        "typeDescriptions": {
                          "typeIdentifier": "t_stringliteral_0074e8276c08882979850346cef6a6ef1c54c31086878c8ba3d5796c1a308713",
                          "typeString": "literal_string \"ERROR:PXA-021:IMPLEMENTATION_ZERO\""
                        },
                        "value": "ERROR:PXA-021:IMPLEMENTATION_ZERO"
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        },
                        {
                          "typeIdentifier": "t_stringliteral_0074e8276c08882979850346cef6a6ef1c54c31086878c8ba3d5796c1a308713",
                          "typeString": "literal_string \"ERROR:PXA-021:IMPLEMENTATION_ZERO\""
                        }
                      ],
                      "id": 4984,
                      "name": "require",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [
                        -18,
                        -18
                      ],
                      "referencedDeclaration": -18,
                      "src": "1728:7:46",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$",
                        "typeString": "function (bool,string memory) pure"
                      }
                    },
                    "id": 4995,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "nameLocations": [],
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "1728:86:46",
                    "tryCall": false,
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 4996,
                  "nodeType": "ExpressionStatement",
                  "src": "1728:86:46"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "commonType": {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        },
                        "id": 5006,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "lValueRequested": false,
                        "leftExpression": {
                          "arguments": [
                            {
                              "id": 5000,
                              "name": "newImplementation",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 4966,
                              "src": "1840:17:46",
                              "typeDescriptions": {
                                "typeIdentifier": "t_contract$_VersionedOwnable_$5965",
                                "typeString": "contract VersionedOwnable"
                              }
                            }
                          ],
                          "expression": {
                            "argumentTypes": [
                              {
                                "typeIdentifier": "t_contract$_VersionedOwnable_$5965",
                                "typeString": "contract VersionedOwnable"
                              }
                            ],
                            "id": 4999,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": true,
                            "lValueRequested": false,
                            "nodeType": "ElementaryTypeNameExpression",
                            "src": "1832:7:46",
                            "typeDescriptions": {
                              "typeIdentifier": "t_type$_t_address_$",
                              "typeString": "type(address)"
                            },
                            "typeName": {
                              "id": 4998,
                              "name": "address",
                              "nodeType": "ElementaryTypeName",
                              "src": "1832:7:46",
                              "typeDescriptions": {}
                            }
                          },
                          "id": 5001,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "kind": "typeConversion",
                          "lValueRequested": false,
                          "nameLocations": [],
                          "names": [],
                          "nodeType": "FunctionCall",
                          "src": "1832:26:46",
                          "tryCall": false,
                          "typeDescriptions": {
                            "typeIdentifier": "t_address",
                            "typeString": "address"
                          }
                        },
                        "nodeType": "BinaryOperation",
                        "operator": "!=",
                        "rightExpression": {
                          "arguments": [
                            {
                              "id": 5004,
                              "name": "_implementation",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 4875,
                              "src": "1870:15:46",
                              "typeDescriptions": {
                                "typeIdentifier": "t_contract$_VersionedOwnable_$5965",
                                "typeString": "contract VersionedOwnable"
                              }
                            }
                          ],
                          "expression": {
                            "argumentTypes": [
                              {
                                "typeIdentifier": "t_contract$_VersionedOwnable_$5965",
                                "typeString": "contract VersionedOwnable"
                              }
                            ],
                            "id": 5003,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": true,
                            "lValueRequested": false,
                            "nodeType": "ElementaryTypeNameExpression",
                            "src": "1862:7:46",
                            "typeDescriptions": {
                              "typeIdentifier": "t_type$_t_address_$",
                              "typeString": "type(address)"
                            },
                            "typeName": {
                              "id": 5002,
                              "name": "address",
                              "nodeType": "ElementaryTypeName",
                              "src": "1862:7:46",
                              "typeDescriptions": {}
                            }
                          },
                          "id": 5005,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "kind": "typeConversion",
                          "lValueRequested": false,
                          "nameLocations": [],
                          "names": [],
                          "nodeType": "FunctionCall",
                          "src": "1862:24:46",
                          "tryCall": false,
                          "typeDescriptions": {
                            "typeIdentifier": "t_address",
                            "typeString": "address"
                          }
                        },
                        "src": "1832:54:46",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        }
                      },
                      {
                        "hexValue": "4552524f523a5058412d3032323a494d504c454d454e544154494f4e5f4e4f545f4e4557",
                        "id": 5007,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": true,
                        "kind": "string",
                        "lValueRequested": false,
                        "nodeType": "Literal",
                        "src": "1888:38:46",
                        "typeDescriptions": {
                          "typeIdentifier": "t_stringliteral_d3fcb2b658b031c71bf871d7958b077d773a11dc993f6cd98cd2d0a64f772b99",
                          "typeString": "literal_string \"ERROR:PXA-022:IMPLEMENTATION_NOT_NEW\""
                        },
                        "value": "ERROR:PXA-022:IMPLEMENTATION_NOT_NEW"
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        },
                        {
                          "typeIdentifier": "t_stringliteral_d3fcb2b658b031c71bf871d7958b077d773a11dc993f6cd98cd2d0a64f772b99",
                          "typeString": "literal_string \"ERROR:PXA-022:IMPLEMENTATION_NOT_NEW\""
                        }
                      ],
                      "id": 4997,
                      "name": "require",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [
                        -18,
                        -18
                      ],
                      "referencedDeclaration": -18,
                      "src": "1824:7:46",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$",
                        "typeString": "function (bool,string memory) pure"
                      }
                    },
                    "id": 5008,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "nameLocations": [],
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "1824:103:46",
                    "tryCall": false,
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 5009,
                  "nodeType": "ExpressionStatement",
                  "src": "1824:103:46"
                },
                {
                  "assignments": [
                    5011
                  ],
                  "declarations": [
                    {
                      "constant": false,
                      "id": 5011,
                      "mutability": "mutable",
                      "name": "activatedBy",
                      "nameLocation": "1946:11:46",
                      "nodeType": "VariableDeclaration",
                      "scope": 5037,
                      "src": "1938:19:46",
                      "stateVariable": false,
                      "storageLocation": "default",
                      "typeDescriptions": {
                        "typeIdentifier": "t_address",
                        "typeString": "address"
                      },
                      "typeName": {
                        "id": 5010,
                        "name": "address",
                        "nodeType": "ElementaryTypeName",
                        "src": "1938:7:46",
                        "stateMutability": "nonpayable",
                        "typeDescriptions": {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        }
                      },
                      "visibility": "internal"
                    }
                  ],
                  "id": 5014,
                  "initialValue": {
                    "expression": {
                      "id": 5012,
                      "name": "msg",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": -15,
                      "src": "1960:3:46",
                      "typeDescriptions": {
                        "typeIdentifier": "t_magic_message",
                        "typeString": "msg"
                      }
                    },
                    "id": 5013,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "memberLocation": "1964:6:46",
                    "memberName": "sender",
                    "nodeType": "MemberAccess",
                    "src": "1960:10:46",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "nodeType": "VariableDeclarationStatement",
                  "src": "1938:32:46"
                },
                {
                  "expression": {
                    "id": 5017,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftHandSide": {
                      "id": 5015,
                      "name": "_implementation",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 4875,
                      "src": "1985:15:46",
                      "typeDescriptions": {
                        "typeIdentifier": "t_contract$_VersionedOwnable_$5965",
                        "typeString": "contract VersionedOwnable"
                      }
                    },
                    "nodeType": "Assignment",
                    "operator": "=",
                    "rightHandSide": {
                      "id": 5016,
                      "name": "newImplementation",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 4966,
                      "src": "2003:17:46",
                      "typeDescriptions": {
                        "typeIdentifier": "t_contract$_VersionedOwnable_$5965",
                        "typeString": "contract VersionedOwnable"
                      }
                    },
                    "src": "1985:35:46",
                    "typeDescriptions": {
                      "typeIdentifier": "t_contract$_VersionedOwnable_$5965",
                      "typeString": "contract VersionedOwnable"
                    }
                  },
                  "id": 5018,
                  "nodeType": "ExpressionStatement",
                  "src": "1985:35:46"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "id": 5024,
                            "name": "newImplementation",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 4966,
                            "src": "2075:17:46",
                            "typeDescriptions": {
                              "typeIdentifier": "t_contract$_VersionedOwnable_$5965",
                              "typeString": "contract VersionedOwnable"
                            }
                          }
                        ],
                        "expression": {
                          "argumentTypes": [
                            {
                              "typeIdentifier": "t_contract$_VersionedOwnable_$5965",
                              "typeString": "contract VersionedOwnable"
                            }
                          ],
                          "id": 5023,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": true,
                          "lValueRequested": false,
                          "nodeType": "ElementaryTypeNameExpression",
                          "src": "2067:7:46",
                          "typeDescriptions": {
                            "typeIdentifier": "t_type$_t_address_$",
                            "typeString": "type(address)"
                          },
                          "typeName": {
                            "id": 5022,
                            "name": "address",
                            "nodeType": "ElementaryTypeName",
                            "src": "2067:7:46",
                            "typeDescriptions": {}
                          }
                        },
                        "id": 5025,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "kind": "typeConversion",
                        "lValueRequested": false,
                        "nameLocations": [],
                        "names": [],
                        "nodeType": "FunctionCall",
                        "src": "2067:26:46",
                        "tryCall": false,
                        "typeDescriptions": {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        }
                      },
                      {
                        "arguments": [
                          {
                            "id": 5028,
                            "name": "ACTIVATE_SIGNATURE",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 4869,
                            "src": "2149:18:46",
                            "typeDescriptions": {
                              "typeIdentifier": "t_string_memory_ptr",
                              "typeString": "string memory"
                            }
                          },
                          {
                            "arguments": [
                              {
                                "id": 5031,
                                "name": "newImplementation",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 4966,
                                "src": "2193:17:46",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_contract$_VersionedOwnable_$5965",
                                  "typeString": "contract VersionedOwnable"
                                }
                              }
                            ],
                            "expression": {
                              "argumentTypes": [
                                {
                                  "typeIdentifier": "t_contract$_VersionedOwnable_$5965",
                                  "typeString": "contract VersionedOwnable"
                                }
                              ],
                              "id": 5030,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": true,
                              "lValueRequested": false,
                              "nodeType": "ElementaryTypeNameExpression",
                              "src": "2185:7:46",
                              "typeDescriptions": {
                                "typeIdentifier": "t_type$_t_address_$",
                                "typeString": "type(address)"
                              },
                              "typeName": {
                                "id": 5029,
                                "name": "address",
                                "nodeType": "ElementaryTypeName",
                                "src": "2185:7:46",
                                "typeDescriptions": {}
                              }
                            },
                            "id": 5032,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": false,
                            "kind": "typeConversion",
                            "lValueRequested": false,
                            "nameLocations": [],
                            "names": [],
                            "nodeType": "FunctionCall",
                            "src": "2185:26:46",
                            "tryCall": false,
                            "typeDescriptions": {
                              "typeIdentifier": "t_address",
                              "typeString": "address"
                            }
                          },
                          {
                            "id": 5033,
                            "name": "activatedBy",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 5011,
                            "src": "2229:11:46",
                            "typeDescriptions": {
                              "typeIdentifier": "t_address",
                              "typeString": "address"
                            }
                          }
                        ],
                        "expression": {
                          "argumentTypes": [
                            {
                              "typeIdentifier": "t_string_memory_ptr",
                              "typeString": "string memory"
                            },
                            {
                              "typeIdentifier": "t_address",
                              "typeString": "address"
                            },
                            {
                              "typeIdentifier": "t_address",
                              "typeString": "address"
                            }
                          ],
                          "expression": {
                            "id": 5026,
                            "name": "abi",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": -1,
                            "src": "2108:3:46",
                            "typeDescriptions": {
                              "typeIdentifier": "t_magic_abi",
                              "typeString": "abi"
                            }
                          },
                          "id": 5027,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": true,
                          "lValueRequested": false,
                          "memberLocation": "2112:19:46",
                          "memberName": "encodeWithSignature",
                          "nodeType": "MemberAccess",
                          "src": "2108:23:46",
                          "typeDescriptions": {
                            "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
                            "typeString": "function (string memory) pure returns (bytes memory)"
                          }
                        },
                        "id": 5034,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "kind": "functionCall",
                        "lValueRequested": false,
                        "nameLocations": [],
                        "names": [],
                        "nodeType": "FunctionCall",
                        "src": "2108:133:46",
                        "tryCall": false,
                        "typeDescriptions": {
                          "typeIdentifier": "t_bytes_memory_ptr",
                          "typeString": "bytes memory"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        },
                        {
                          "typeIdentifier": "t_bytes_memory_ptr",
                          "typeString": "bytes memory"
                        }
                      ],
                      "expression": {
                        "id": 5019,
                        "name": "_proxy",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 4878,
                        "src": "2030:6:46",
                        "typeDescriptions": {
                          "typeIdentifier": "t_contract$_TransparentUpgradeableProxy_$12771",
                          "typeString": "contract TransparentUpgradeableProxy"
                        }
                      },
                      "id": 5021,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "memberLocation": "2037:16:46",
                      "memberName": "upgradeToAndCall",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 12740,
                      "src": "2030:23:46",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_external_payable$_t_address_$_t_bytes_memory_ptr_$returns$__$",
                        "typeString": "function (address,bytes memory) payable external"
                      }
                    },
                    "id": 5035,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "nameLocations": [],
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "2030:221:46",
                    "tryCall": false,
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 5036,
                  "nodeType": "ExpressionStatement",
                  "src": "2030:221:46"
                }
              ]
            },
            "functionSelector": "0900f010",
            "id": 5038,
            "implemented": true,
            "kind": "function",
            "modifiers": [
              {
                "id": 4969,
                "kind": "modifierInvocation",
                "modifierName": {
                  "id": 4968,
                  "name": "onlyOwner",
                  "nameLocations": [
                    "1625:9:46"
                  ],
                  "nodeType": "IdentifierPath",
                  "referencedDeclaration": 12542,
                  "src": "1625:9:46"
                },
                "nodeType": "ModifierInvocation",
                "src": "1625:9:46"
              }
            ],
            "name": "upgrade",
            "nameLocation": "1555:7:46",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 4967,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 4966,
                  "mutability": "mutable",
                  "name": "newImplementation",
                  "nameLocation": "1580:17:46",
                  "nodeType": "VariableDeclaration",
                  "scope": 5038,
                  "src": "1563:34:46",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_contract$_VersionedOwnable_$5965",
                    "typeString": "contract VersionedOwnable"
                  },
                  "typeName": {
                    "id": 4965,
                    "nodeType": "UserDefinedTypeName",
                    "pathNode": {
                      "id": 4964,
                      "name": "VersionedOwnable",
                      "nameLocations": [
                        "1563:16:46"
                      ],
                      "nodeType": "IdentifierPath",
                      "referencedDeclaration": 5965,
                      "src": "1563:16:46"
                    },
                    "referencedDeclaration": 5965,
                    "src": "1563:16:46",
                    "typeDescriptions": {
                      "typeIdentifier": "t_contract$_VersionedOwnable_$5965",
                      "typeString": "contract VersionedOwnable"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "1562:36:46"
            },
            "returnParameters": {
              "id": 4970,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "1639:0:46"
            },
            "scope": 5093,
            "src": "1546:712:46",
            "stateMutability": "nonpayable",
            "virtual": false,
            "visibility": "external"
          },
          {
            "body": {
              "id": 5073,
              "nodeType": "Block",
              "src": "2345:241:46",
              "statements": [
                {
                  "expression": {
                    "arguments": [
                      {
                        "commonType": {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        },
                        "id": 5051,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "lValueRequested": false,
                        "leftExpression": {
                          "id": 5046,
                          "name": "newAdmin",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 5040,
                          "src": "2363:8:46",
                          "typeDescriptions": {
                            "typeIdentifier": "t_address",
                            "typeString": "address"
                          }
                        },
                        "nodeType": "BinaryOperation",
                        "operator": "!=",
                        "rightExpression": {
                          "arguments": [
                            {
                              "hexValue": "30",
                              "id": 5049,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": true,
                              "kind": "number",
                              "lValueRequested": false,
                              "nodeType": "Literal",
                              "src": "2383:1:46",
                              "typeDescriptions": {
                                "typeIdentifier": "t_rational_0_by_1",
                                "typeString": "int_const 0"
                              },
                              "value": "0"
                            }
                          ],
                          "expression": {
                            "argumentTypes": [
                              {
                                "typeIdentifier": "t_rational_0_by_1",
                                "typeString": "int_const 0"
                              }
                            ],
                            "id": 5048,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": true,
                            "lValueRequested": false,
                            "nodeType": "ElementaryTypeNameExpression",
                            "src": "2375:7:46",
                            "typeDescriptions": {
                              "typeIdentifier": "t_type$_t_address_$",
                              "typeString": "type(address)"
                            },
                            "typeName": {
                              "id": 5047,
                              "name": "address",
                              "nodeType": "ElementaryTypeName",
                              "src": "2375:7:46",
                              "typeDescriptions": {}
                            }
                          },
                          "id": 5050,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": true,
                          "kind": "typeConversion",
                          "lValueRequested": false,
                          "nameLocations": [],
                          "names": [],
                          "nodeType": "FunctionCall",
                          "src": "2375:10:46",
                          "tryCall": false,
                          "typeDescriptions": {
                            "typeIdentifier": "t_address",
                            "typeString": "address"
                          }
                        },
                        "src": "2363:22:46",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        }
                      },
                      {
                        "hexValue": "4552524f523a5058412d3033303a50524f58595f41444d494e5f5a45524f",
                        "id": 5052,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": true,
                        "kind": "string",
                        "lValueRequested": false,
                        "nodeType": "Literal",
                        "src": "2387:32:46",
                        "typeDescriptions": {
                          "typeIdentifier": "t_stringliteral_a93aa314f423396ba53ed708c207a00e498b411d7044773c084ceaa86e8b12a6",
                          "typeString": "literal_string \"ERROR:PXA-030:PROXY_ADMIN_ZERO\""
                        },
                        "value": "ERROR:PXA-030:PROXY_ADMIN_ZERO"
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        },
                        {
                          "typeIdentifier": "t_stringliteral_a93aa314f423396ba53ed708c207a00e498b411d7044773c084ceaa86e8b12a6",
                          "typeString": "literal_string \"ERROR:PXA-030:PROXY_ADMIN_ZERO\""
                        }
                      ],
                      "id": 5045,
                      "name": "require",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [
                        -18,
                        -18
                      ],
                      "referencedDeclaration": -18,
                      "src": "2355:7:46",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$",
                        "typeString": "function (bool,string memory) pure"
                      }
                    },
                    "id": 5053,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "nameLocations": [],
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "2355:65:46",
                    "tryCall": false,
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 5054,
                  "nodeType": "ExpressionStatement",
                  "src": "2355:65:46"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "commonType": {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        },
                        "id": 5063,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "lValueRequested": false,
                        "leftExpression": {
                          "id": 5056,
                          "name": "newAdmin",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 5040,
                          "src": "2438:8:46",
                          "typeDescriptions": {
                            "typeIdentifier": "t_address",
                            "typeString": "address"
                          }
                        },
                        "nodeType": "BinaryOperation",
                        "operator": "!=",
                        "rightExpression": {
                          "arguments": [
                            {
                              "arguments": [],
                              "expression": {
                                "argumentTypes": [],
                                "expression": {
                                  "id": 5059,
                                  "name": "_implementation",
                                  "nodeType": "Identifier",
                                  "overloadedDeclarations": [],
                                  "referencedDeclaration": 4875,
                                  "src": "2458:15:46",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_contract$_VersionedOwnable_$5965",
                                    "typeString": "contract VersionedOwnable"
                                  }
                                },
                                "id": 5060,
                                "isConstant": false,
                                "isLValue": false,
                                "isPure": false,
                                "lValueRequested": false,
                                "memberLocation": "2474:5:46",
                                "memberName": "owner",
                                "nodeType": "MemberAccess",
                                "referencedDeclaration": 13691,
                                "src": "2458:21:46",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_function_external_view$__$returns$_t_address_$",
                                  "typeString": "function () view external returns (address)"
                                }
                              },
                              "id": 5061,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": false,
                              "kind": "functionCall",
                              "lValueRequested": false,
                              "nameLocations": [],
                              "names": [],
                              "nodeType": "FunctionCall",
                              "src": "2458:23:46",
                              "tryCall": false,
                              "typeDescriptions": {
                                "typeIdentifier": "t_address",
                                "typeString": "address"
                              }
                            }
                          ],
                          "expression": {
                            "argumentTypes": [
                              {
                                "typeIdentifier": "t_address",
                                "typeString": "address"
                              }
                            ],
                            "id": 5058,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": true,
                            "lValueRequested": false,
                            "nodeType": "ElementaryTypeNameExpression",
                            "src": "2450:7:46",
                            "typeDescriptions": {
                              "typeIdentifier": "t_type$_t_address_$",
                              "typeString": "type(address)"
                            },
                            "typeName": {
                              "id": 5057,
                              "name": "address",
                              "nodeType": "ElementaryTypeName",
                              "src": "2450:7:46",
                              "typeDescriptions": {}
                            }
                          },
                          "id": 5062,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "kind": "typeConversion",
                          "lValueRequested": false,
                          "nameLocations": [],
                          "names": [],
                          "nodeType": "FunctionCall",
                          "src": "2450:32:46",
                          "tryCall": false,
                          "typeDescriptions": {
                            "typeIdentifier": "t_address",
                            "typeString": "address"
                          }
                        },
                        "src": "2438:44:46",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        }
                      },
                      {
                        "hexValue": "4552524f523a5058412d3033313a50524f58595f41444d494e5f53414d455f41535f494d504c454d454e544154494f4e5f4f574e4552",
                        "id": 5064,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": true,
                        "kind": "string",
                        "lValueRequested": false,
                        "nodeType": "Literal",
                        "src": "2484:56:46",
                        "typeDescriptions": {
                          "typeIdentifier": "t_stringliteral_22d90730e2efdf332fec5923cd6b556b41057f12adbd38eef0714c72bb7337a5",
                          "typeString": "literal_string \"ERROR:PXA-031:PROXY_ADMIN_SAME_AS_IMPLEMENTATION_OWNER\""
                        },
                        "value": "ERROR:PXA-031:PROXY_ADMIN_SAME_AS_IMPLEMENTATION_OWNER"
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        },
                        {
                          "typeIdentifier": "t_stringliteral_22d90730e2efdf332fec5923cd6b556b41057f12adbd38eef0714c72bb7337a5",
                          "typeString": "literal_string \"ERROR:PXA-031:PROXY_ADMIN_SAME_AS_IMPLEMENTATION_OWNER\""
                        }
                      ],
                      "id": 5055,
                      "name": "require",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [
                        -18,
                        -18
                      ],
                      "referencedDeclaration": -18,
                      "src": "2430:7:46",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$",
                        "typeString": "function (bool,string memory) pure"
                      }
                    },
                    "id": 5065,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "nameLocations": [],
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "2430:111:46",
                    "tryCall": false,
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 5066,
                  "nodeType": "ExpressionStatement",
                  "src": "2430:111:46"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "id": 5070,
                        "name": "newAdmin",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 5040,
                        "src": "2570:8:46",
                        "typeDescriptions": {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        }
                      ],
                      "expression": {
                        "id": 5067,
                        "name": "_proxy",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 4878,
                        "src": "2551:6:46",
                        "typeDescriptions": {
                          "typeIdentifier": "t_contract$_TransparentUpgradeableProxy_$12771",
                          "typeString": "contract TransparentUpgradeableProxy"
                        }
                      },
                      "id": 5069,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "memberLocation": "2558:11:46",
                      "memberName": "changeAdmin",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 12705,
                      "src": "2551:18:46",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_external_nonpayable$_t_address_$returns$__$",
                        "typeString": "function (address) external"
                      }
                    },
                    "id": 5071,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "nameLocations": [],
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "2551:28:46",
                    "tryCall": false,
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 5072,
                  "nodeType": "ExpressionStatement",
                  "src": "2551:28:46"
                }
              ]
            },
            "functionSelector": "75829def",
            "id": 5074,
            "implemented": true,
            "kind": "function",
            "modifiers": [
              {
                "id": 5043,
                "kind": "modifierInvocation",
                "modifierName": {
                  "id": 5042,
                  "name": "onlyOwner",
                  "nameLocations": [
                    "2331:9:46"
                  ],
                  "nodeType": "IdentifierPath",
                  "referencedDeclaration": 12542,
                  "src": "2331:9:46"
                },
                "nodeType": "ModifierInvocation",
                "src": "2331:9:46"
              }
            ],
            "name": "transferAdmin",
            "nameLocation": "2274:13:46",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 5041,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 5040,
                  "mutability": "mutable",
                  "name": "newAdmin",
                  "nameLocation": "2296:8:46",
                  "nodeType": "VariableDeclaration",
                  "scope": 5074,
                  "src": "2288:16:46",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 5039,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "2288:7:46",
                    "stateMutability": "nonpayable",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "2287:18:46"
            },
            "returnParameters": {
              "id": 5044,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "2345:0:46"
            },
            "scope": 5093,
            "src": "2265:321:46",
            "stateMutability": "nonpayable",
            "virtual": false,
            "visibility": "external"
          },
          {
            "body": {
              "id": 5082,
              "nodeType": "Block",
              "src": "2662:39:46",
              "statements": [
                {
                  "expression": {
                    "id": 5080,
                    "name": "_implementation",
                    "nodeType": "Identifier",
                    "overloadedDeclarations": [],
                    "referencedDeclaration": 4875,
                    "src": "2679:15:46",
                    "typeDescriptions": {
                      "typeIdentifier": "t_contract$_VersionedOwnable_$5965",
                      "typeString": "contract VersionedOwnable"
                    }
                  },
                  "functionReturnParameters": 5079,
                  "id": 5081,
                  "nodeType": "Return",
                  "src": "2672:22:46"
                }
              ]
            },
            "functionSelector": "aaf10f42",
            "id": 5083,
            "implemented": true,
            "kind": "function",
            "modifiers": [],
            "name": "getImplementation",
            "nameLocation": "2602:17:46",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 5075,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "2619:2:46"
            },
            "returnParameters": {
              "id": 5079,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 5078,
                  "mutability": "mutable",
                  "name": "",
                  "nameLocation": "-1:-1:-1",
                  "nodeType": "VariableDeclaration",
                  "scope": 5083,
                  "src": "2644:16:46",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_contract$_VersionedOwnable_$5965",
                    "typeString": "contract VersionedOwnable"
                  },
                  "typeName": {
                    "id": 5077,
                    "nodeType": "UserDefinedTypeName",
                    "pathNode": {
                      "id": 5076,
                      "name": "VersionedOwnable",
                      "nameLocations": [
                        "2644:16:46"
                      ],
                      "nodeType": "IdentifierPath",
                      "referencedDeclaration": 5965,
                      "src": "2644:16:46"
                    },
                    "referencedDeclaration": 5965,
                    "src": "2644:16:46",
                    "typeDescriptions": {
                      "typeIdentifier": "t_contract$_VersionedOwnable_$5965",
                      "typeString": "contract VersionedOwnable"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "2643:18:46"
            },
            "scope": 5093,
            "src": "2593:108:46",
            "stateMutability": "view",
            "virtual": false,
            "visibility": "external"
          },
          {
            "body": {
              "id": 5091,
              "nodeType": "Block",
              "src": "2779:30:46",
              "statements": [
                {
                  "expression": {
                    "id": 5089,
                    "name": "_proxy",
                    "nodeType": "Identifier",
                    "overloadedDeclarations": [],
                    "referencedDeclaration": 4878,
                    "src": "2796:6:46",
                    "typeDescriptions": {
                      "typeIdentifier": "t_contract$_TransparentUpgradeableProxy_$12771",
                      "typeString": "contract TransparentUpgradeableProxy"
                    }
                  },
                  "functionReturnParameters": 5088,
                  "id": 5090,
                  "nodeType": "Return",
                  "src": "2789:13:46"
                }
              ]
            },
            "functionSelector": "933a9ce8",
            "id": 5092,
            "implemented": true,
            "kind": "function",
            "modifiers": [],
            "name": "getProxy",
            "nameLocation": "2717:8:46",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 5084,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "2725:2:46"
            },
            "returnParameters": {
              "id": 5088,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 5087,
                  "mutability": "mutable",
                  "name": "",
                  "nameLocation": "-1:-1:-1",
                  "nodeType": "VariableDeclaration",
                  "scope": 5092,
                  "src": "2750:27:46",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_contract$_TransparentUpgradeableProxy_$12771",
                    "typeString": "contract TransparentUpgradeableProxy"
                  },
                  "typeName": {
                    "id": 5086,
                    "nodeType": "UserDefinedTypeName",
                    "pathNode": {
                      "id": 5085,
                      "name": "TransparentUpgradeableProxy",
                      "nameLocations": [
                        "2750:27:46"
                      ],
                      "nodeType": "IdentifierPath",
                      "referencedDeclaration": 12771,
                      "src": "2750:27:46"
                    },
                    "referencedDeclaration": 12771,
                    "src": "2750:27:46",
                    "typeDescriptions": {
                      "typeIdentifier": "t_contract$_TransparentUpgradeableProxy_$12771",
                      "typeString": "contract TransparentUpgradeableProxy"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "2749:29:46"
            },
            "scope": 5093,
            "src": "2708:101:46",
            "stateMutability": "view",
            "virtual": false,
            "visibility": "external"
          }
        ],
        "scope": 5094,
        "src": "311:2500:46",
        "usedErrors": []
      }
    ],
    "src": "39:2773:46"
  },
  "bytecode": "608060405234801561001057600080fd5b50604051610b59380380610b5983398101604081905261002f91610111565b610038336100c1565b6001600160a01b03811661009c5760405162461bcd60e51b815260206004820152602160248201527f4552524f523a5058412d3030313a494d504c454d454e544154494f4e5f5a45526044820152604f60f81b606482015260840160405180910390fd5b600180546001600160a01b0319166001600160a01b0392909216919091179055610141565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b60006020828403121561012357600080fd5b81516001600160a01b038116811461013a57600080fd5b9392505050565b610a09806101506000396000f3fe608060405234801561001057600080fd5b50600436106100a95760003560e01c80638da5cb5b116100715780638da5cb5b14610134578063933a9ce81461015957806397107d6d1461016a578063aaf10f421461017d578063e49771bf1461018e578063f2fde38b146101a157600080fd5b80630900f010146100ae57806368380765146100c3578063715018a61461011157806375829def146101195780638765c3291461012c575b600080fd5b6100c16100bc366004610870565b6101b4565b005b6100fb60405180604001604052806019815260200178616374697661746528616464726573732c616464726573732960381b81525081565b60405161010891906108e4565b60405180910390f35b6100c16103eb565b6100c1610127366004610870565b6103ff565b6100fb6105b5565b6000546001600160a01b03165b6040516001600160a01b039091168152602001610108565b6002546001600160a01b0316610141565b6100c1610178366004610870565b6105d1565b6001546001600160a01b0316610141565b6100fb61019c3660046108f7565b6106aa565b6100c16101af366004610870565b610738565b6101bc6107b1565b6002546001600160a01b03166102195760405162461bcd60e51b815260206004820152601b60248201527f4552524f523a5058412d3032303a50524f58595f4e4f545f534554000000000060448201526064015b60405180910390fd5b6001600160a01b0381166102795760405162461bcd60e51b815260206004820152602160248201527f4552524f523a5058412d3032313a494d504c454d454e544154494f4e5f5a45526044820152604f60f81b6064820152608401610210565b6001546001600160a01b03908116908216036102e35760405162461bcd60e51b8152602060048201526024808201527f4552524f523a5058412d3032323a494d504c454d454e544154494f4e5f4e4f546044820152635f4e455760e01b6064820152608401610210565b600180546001600160a01b0319166001600160a01b038381169182179092556002546040805180820182526019815278616374697661746528616464726573732c616464726573732960381b6020820152905160248101939093523360448401819052939190911691634f1ef28691859160640160408051601f19818403018152908290529161037291610942565b60408051918290039091206020830180516001600160e01b03166001600160e01b0319928316179052905160e085901b90911681526103b592919060040161095e565b600060405180830381600087803b1580156103cf57600080fd5b505af11580156103e3573d6000803e3d6000fd5b505050505050565b6103f36107b1565b6103fd600061080b565b565b6104076107b1565b6001600160a01b03811661045d5760405162461bcd60e51b815260206004820152601e60248201527f4552524f523a5058412d3033303a50524f58595f41444d494e5f5a45524f00006044820152606401610210565b600160009054906101000a90046001600160a01b03166001600160a01b0316638da5cb5b6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156104b0573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906104d4919061098a565b6001600160a01b0316816001600160a01b0316036105535760405162461bcd60e51b815260206004820152603660248201527f4552524f523a5058412d3033313a50524f58595f41444d494e5f53414d455f4160448201527529afa4a6a82622a6a2a72a20aa24a7a72fa7aba722a960511b6064820152608401610210565b6002546040516308f2839760e41b81526001600160a01b03838116600483015290911690638f28397090602401600060405180830381600087803b15801561059a57600080fd5b505af11580156105ae573d6000803e3d6000fd5b5050505050565b6040518060600160405280602c81526020016109a8602c913981565b6105d96107b1565b6002546001600160a01b0316156106325760405162461bcd60e51b815260206004820152601f60248201527f4552524f523a5058412d3031303a50524f58595f5345545f414c5245414459006044820152606401610210565b6001600160a01b0381166106885760405162461bcd60e51b815260206004820152601860248201527f4552524f523a5058412d3031313a50524f58595f5a45524f00000000000000006044820152606401610210565b600280546001600160a01b0319166001600160a01b0392909216919091179055565b60606040518060600160405280602c81526020016109a8602c91396040516001600160a01b03808716602483015280861660448301528416606482015260840160408051601f19818403018152908290529161070591610942565b6040519081900390206020820180516001600160e01b03166001600160e01b031990921691909117905290509392505050565b6107406107b1565b6001600160a01b0381166107a55760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152608401610210565b6107ae8161080b565b50565b6000546001600160a01b031633146103fd5760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610210565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b6001600160a01b03811681146107ae57600080fd5b60006020828403121561088257600080fd5b813561088d8161085b565b9392505050565b60005b838110156108af578181015183820152602001610897565b50506000910152565b600081518084526108d0816020860160208601610894565b601f01601f19169290920160200192915050565b60208152600061088d60208301846108b8565b60008060006060848603121561090c57600080fd5b83356109178161085b565b925060208401356109278161085b565b915060408401356109378161085b565b809150509250925092565b60008251610954818460208701610894565b9190910192915050565b6001600160a01b0383168152604060208201819052600090610982908301846108b8565b949350505050565b60006020828403121561099c57600080fd5b815161088d8161085b56fe6163746976617465416e645365744f776e657228616464726573732c616464726573732c6164647265737329a264697066735822122097ee01d5f71aba4ce424b05c6d4972f928520a26e8fe1ad09dc01b2b317affdc64736f6c63430008130033",
  "bytecodeSha1": "c83224841df0ceb0749c38e2cdcfbf1b9952d13d",
  "compiler": {
    "evm_version": "istanbul",
    "optimizer": {
      "enabled": true,
      "runs": 200
    },
    "version": "0.8.19+commit.7dd6d404"
  },
  "contractName": "OwnableProxyAdmin",
  "coverageMap": {
    "branches": {
      "10": {},
      "11": {},
      "12": {},
      "22": {},
      "23": {},
      "24": {},
      "46": {
        "OwnableProxyAdmin.setProxy": {
          "26": [
            982,
            1011,
            true
          ],
          "27": [
            1065,
            1093,
            true
          ]
        },
        "OwnableProxyAdmin.transferAdmin": {
          "24": [
            2363,
            2385,
            true
          ],
          "25": [
            2438,
            2482,
            true
          ]
        },
        "OwnableProxyAdmin.upgrade": {
          "22": [
            1736,
            1776,
            true
          ],
          "23": [
            1832,
            1886,
            true
          ]
        }
      },
      "49": {},
      "6": {
        "Ownable._checkOwner": {
          "29": [
            1422,
            1445,
            true
          ]
        },
        "Ownable.transferOwnership": {
          "28": [
            2169,
            2191,
            true
          ]
        }
      },
      "7": {},
      "8": {},
      "9": {}
    },
    "statements": {
      "10": {},
      "11": {},
      "12": {},
      "22": {},
      "23": {
        "Context._msgSender": {
          "18": [
            712,
            729
          ]
        }
      },
      "24": {},
      "46": {
        "OwnableProxyAdmin.getImplementation": {
          "2": [
            2672,
            2694
          ]
        },
        "OwnableProxyAdmin.getProxy": {
          "1": [
            2789,
            2802
          ]
        },
        "OwnableProxyAdmin.getProxyCallData": {
          "15": [
            1369,
            1532
          ]
        },
        "OwnableProxyAdmin.setProxy": {
          "12": [
            974,
            1047
          ],
          "13": [
            1057,
            1122
          ],
          "14": [
            1132,
            1146
          ]
        },
        "OwnableProxyAdmin.transferAdmin": {
          "9": [
            2355,
            2420
          ],
          "10": [
            2430,
            2541
          ],
          "11": [
            2551,
            2579
          ]
        },
        "OwnableProxyAdmin.upgrade": {
          "3": [
            1649,
            1718
          ],
          "4": [
            1728,
            1814
          ],
          "5": [
            1824,
            1927
          ],
          "6": [
            1985,
            2020
          ],
          "7": [
            2030,
            2251
          ]
        }
      },
      "49": {},
      "6": {
        "Ownable._checkOwner": {
          "19": [
            1414,
            1482
          ]
        },
        "Ownable._transferOwnership": {
          "20": [
            2541,
            2558
          ],
          "21": [
            2568,
            2613
          ]
        },
        "Ownable.owner": {
          "0": [
            1266,
            1279
          ]
        },
        "Ownable.renounceOwnership": {
          "8": [
            1895,
            1925
          ]
        },
        "Ownable.transferOwnership": {
          "16": [
            2161,
            2234
          ],
          "17": [
            2244,
            2272
          ]
        }
      },
      "7": {},
      "8": {},
      "9": {}
    }
  },
  "dependencies": [
    "OpenZeppelin/openzeppelin-contracts@4.8.2/Address",
    "OpenZeppelin/openzeppelin-contracts@4.8.2/Context",
    "OpenZeppelin/openzeppelin-contracts@4.8.2/ERC1967Proxy",
    "OpenZeppelin/openzeppelin-contracts@4.8.2/ERC1967Upgrade",
    "OpenZeppelin/openzeppelin-contracts@4.8.2/IBeacon",
    "OpenZeppelin/openzeppelin-contracts@4.8.2/IERC1822Proxiable",
    "OpenZeppelin/openzeppelin-contracts@4.8.2/Ownable",
    "OpenZeppelin/openzeppelin-contracts@4.8.2/Proxy",
    "OpenZeppelin/openzeppelin-contracts@4.8.2/StorageSlot",
    "OpenZeppelin/openzeppelin-contracts@4.8.2/TransparentUpgradeableProxy",
    "VersionedOwnable"
  ],
  "deployedBytecode": "608060405234801561001057600080fd5b50600436106100a95760003560e01c80638da5cb5b116100715780638da5cb5b14610134578063933a9ce81461015957806397107d6d1461016a578063aaf10f421461017d578063e49771bf1461018e578063f2fde38b146101a157600080fd5b80630900f010146100ae57806368380765146100c3578063715018a61461011157806375829def146101195780638765c3291461012c575b600080fd5b6100c16100bc366004610870565b6101b4565b005b6100fb60405180604001604052806019815260200178616374697661746528616464726573732c616464726573732960381b81525081565b60405161010891906108e4565b60405180910390f35b6100c16103eb565b6100c1610127366004610870565b6103ff565b6100fb6105b5565b6000546001600160a01b03165b6040516001600160a01b039091168152602001610108565b6002546001600160a01b0316610141565b6100c1610178366004610870565b6105d1565b6001546001600160a01b0316610141565b6100fb61019c3660046108f7565b6106aa565b6100c16101af366004610870565b610738565b6101bc6107b1565b6002546001600160a01b03166102195760405162461bcd60e51b815260206004820152601b60248201527f4552524f523a5058412d3032303a50524f58595f4e4f545f534554000000000060448201526064015b60405180910390fd5b6001600160a01b0381166102795760405162461bcd60e51b815260206004820152602160248201527f4552524f523a5058412d3032313a494d504c454d454e544154494f4e5f5a45526044820152604f60f81b6064820152608401610210565b6001546001600160a01b03908116908216036102e35760405162461bcd60e51b8152602060048201526024808201527f4552524f523a5058412d3032323a494d504c454d454e544154494f4e5f4e4f546044820152635f4e455760e01b6064820152608401610210565b600180546001600160a01b0319166001600160a01b038381169182179092556002546040805180820182526019815278616374697661746528616464726573732c616464726573732960381b6020820152905160248101939093523360448401819052939190911691634f1ef28691859160640160408051601f19818403018152908290529161037291610942565b60408051918290039091206020830180516001600160e01b03166001600160e01b0319928316179052905160e085901b90911681526103b592919060040161095e565b600060405180830381600087803b1580156103cf57600080fd5b505af11580156103e3573d6000803e3d6000fd5b505050505050565b6103f36107b1565b6103fd600061080b565b565b6104076107b1565b6001600160a01b03811661045d5760405162461bcd60e51b815260206004820152601e60248201527f4552524f523a5058412d3033303a50524f58595f41444d494e5f5a45524f00006044820152606401610210565b600160009054906101000a90046001600160a01b03166001600160a01b0316638da5cb5b6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156104b0573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906104d4919061098a565b6001600160a01b0316816001600160a01b0316036105535760405162461bcd60e51b815260206004820152603660248201527f4552524f523a5058412d3033313a50524f58595f41444d494e5f53414d455f4160448201527529afa4a6a82622a6a2a72a20aa24a7a72fa7aba722a960511b6064820152608401610210565b6002546040516308f2839760e41b81526001600160a01b03838116600483015290911690638f28397090602401600060405180830381600087803b15801561059a57600080fd5b505af11580156105ae573d6000803e3d6000fd5b5050505050565b6040518060600160405280602c81526020016109a8602c913981565b6105d96107b1565b6002546001600160a01b0316156106325760405162461bcd60e51b815260206004820152601f60248201527f4552524f523a5058412d3031303a50524f58595f5345545f414c5245414459006044820152606401610210565b6001600160a01b0381166106885760405162461bcd60e51b815260206004820152601860248201527f4552524f523a5058412d3031313a50524f58595f5a45524f00000000000000006044820152606401610210565b600280546001600160a01b0319166001600160a01b0392909216919091179055565b60606040518060600160405280602c81526020016109a8602c91396040516001600160a01b03808716602483015280861660448301528416606482015260840160408051601f19818403018152908290529161070591610942565b6040519081900390206020820180516001600160e01b03166001600160e01b031990921691909117905290509392505050565b6107406107b1565b6001600160a01b0381166107a55760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152608401610210565b6107ae8161080b565b50565b6000546001600160a01b031633146103fd5760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610210565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b6001600160a01b03811681146107ae57600080fd5b60006020828403121561088257600080fd5b813561088d8161085b565b9392505050565b60005b838110156108af578181015183820152602001610897565b50506000910152565b600081518084526108d0816020860160208601610894565b601f01601f19169290920160200192915050565b60208152600061088d60208301846108b8565b60008060006060848603121561090c57600080fd5b83356109178161085b565b925060208401356109278161085b565b915060408401356109378161085b565b809150509250925092565b60008251610954818460208701610894565b9190910192915050565b6001600160a01b0383168152604060208201819052600090610982908301846108b8565b949350505050565b60006020828403121561099c57600080fd5b815161088d8161085b56fe6163746976617465416e645365744f776e657228616464726573732c616464726573732c6164647265737329a264697066735822122097ee01d5f71aba4ce424b05c6d4972f928520a26e8fe1ad09dc01b2b317affdc64736f6c63430008130033",
  "deployedSourceMap": "311:2500:46:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1546:712;;;;;;:::i;:::-;;:::i;:::-;;359:71;;;;;;;;;;;;;;;-1:-1:-1;;;359:71:46;;;;;;;;;;;;:::i;:::-;;;;;;;;1831:101:6;;;:::i;2265:321:46:-;;;;;;:::i;:::-;;:::i;436:104::-;;;:::i;1201:85:6:-;1247:7;1273:6;-1:-1:-1;;;;;1273:6:6;1201:85;;;-1:-1:-1;;;;;1653:32:67;;;1635:51;;1623:2;1608:18;1201:85:6;1489:203:67;2708:101:46;2796:6;;-1:-1:-1;;;;;2796:6:46;2708:101;;872:281;;;;;;:::i;:::-;;:::i;2593:108::-;2679:15;;-1:-1:-1;;;;;2679:15:46;2593:108;;1160:379;;;;;;:::i;:::-;;:::i;2081:198:6:-;;;;;;:::i;:::-;;:::i;1546:712:46:-;1094:13:6;:11;:13::i;:::-;1665:6:46::1;::::0;-1:-1:-1;;;;;1665:6:46::1;1649:69;;;::::0;-1:-1:-1;;;1649:69:46;;3503:2:67;1649:69:46::1;::::0;::::1;3485:21:67::0;3542:2;3522:18;;;3515:30;3581:29;3561:18;;;3554:57;3628:18;;1649:69:46::1;;;;;;;;;-1:-1:-1::0;;;;;1736:40:46;::::1;1728:86;;;::::0;-1:-1:-1;;;1728:86:46;;3859:2:67;1728:86:46::1;::::0;::::1;3841:21:67::0;3898:2;3878:18;;;3871:30;3937:34;3917:18;;;3910:62;-1:-1:-1;;;3988:18:67;;;3981:31;4029:19;;1728:86:46::1;3657:397:67::0;1728:86:46::1;1870:15;::::0;-1:-1:-1;;;;;1870:15:46;;::::1;1832:54:::0;;::::1;::::0;1824:103:::1;;;::::0;-1:-1:-1;;;1824:103:46;;4261:2:67;1824:103:46::1;::::0;::::1;4243:21:67::0;4300:2;4280:18;;;4273:30;4339:34;4319:18;;;4312:62;-1:-1:-1;;;4390:18:67;;;4383:34;4434:19;;1824:103:46::1;4059:400:67::0;1824:103:46::1;1985:15;:35:::0;;-1:-1:-1;;;;;;1985:35:46::1;-1:-1:-1::0;;;;;1985:35:46;;::::1;::::0;;::::1;::::0;;;2030:6:::1;::::0;2149:18:::1;::::0;;;;::::1;::::0;;::::1;::::0;;-1:-1:-1;;;2149:18:46::1;::::0;::::1;::::0;2108:133;;::::1;::::0;::::1;4676:34:67::0;;;;1960:10:46::1;4726:18:67::0;;;4719:43;;;1960:10:46;2030:6;;;::::1;::::0;:23:::1;::::0;1985:35;;4611:18:67;;2108:133:46::1;::::0;;-1:-1:-1;;2108:133:46;;::::1;::::0;;;;;;;;::::1;::::0;::::1;:::i;:::-;;::::0;;;;;::::1;::::0;;;::::1;::::0;::::1;::::0;;-1:-1:-1;;;;;2108:133:46::1;-1:-1:-1::0;;;;;;2108:133:46;;::::1;;::::0;;2030:221;;::::1;::::0;;;;;;;;::::1;::::0;;2108:133;2030:221:::1;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;1639:619;1546:712:::0;:::o;1831:101:6:-;1094:13;:11;:13::i;:::-;1895:30:::1;1922:1;1895:18;:30::i;:::-;1831:101::o:0;2265:321:46:-;1094:13:6;:11;:13::i;:::-;-1:-1:-1;;;;;2363:22:46;::::1;2355:65;;;::::0;-1:-1:-1;;;2355:65:46;;5589:2:67;2355:65:46::1;::::0;::::1;5571:21:67::0;5628:2;5608:18;;;5601:30;5667:32;5647:18;;;5640:60;5717:18;;2355:65:46::1;5387:354:67::0;2355:65:46::1;2458:15;;;;;;;;;-1:-1:-1::0;;;;;2458:15:46::1;-1:-1:-1::0;;;;;2458:21:46::1;;:23;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;2438:44:46::1;:8;-1:-1:-1::0;;;;;2438:44:46::1;::::0;2430:111:::1;;;::::0;-1:-1:-1;;;2430:111:46;;6222:2:67;2430:111:46::1;::::0;::::1;6204:21:67::0;6261:2;6241:18;;;6234:30;6300:34;6280:18;;;6273:62;-1:-1:-1;;;6351:18:67;;;6344:52;6413:19;;2430:111:46::1;6020:418:67::0;2430:111:46::1;2551:6;::::0;:28:::1;::::0;-1:-1:-1;;;2551:28:46;;-1:-1:-1;;;;;1653:32:67;;;2551:28:46::1;::::0;::::1;1635:51:67::0;2551:6:46;;::::1;::::0;:18:::1;::::0;1608::67;;2551:28:46::1;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;2265:321:::0;:::o;436:104::-;;;;;;;;;;;;;;;;;;;:::o;872:281::-;1094:13:6;:11;:13::i;:::-;990:6:46::1;::::0;-1:-1:-1;;;;;990:6:46::1;982:29:::0;974:73:::1;;;::::0;-1:-1:-1;;;974:73:46;;6645:2:67;974:73:46::1;::::0;::::1;6627:21:67::0;6684:2;6664:18;;;6657:30;6723:33;6703:18;;;6696:61;6774:18;;974:73:46::1;6443:355:67::0;974:73:46::1;-1:-1:-1::0;;;;;1065:28:46;::::1;1057:65;;;::::0;-1:-1:-1;;;1057:65:46;;7005:2:67;1057:65:46::1;::::0;::::1;6987:21:67::0;7044:2;7024:18;;;7017:30;7083:26;7063:18;;;7056:54;7127:18;;1057:65:46::1;6803:348:67::0;1057:65:46::1;1132:6;:14:::0;;-1:-1:-1;;;;;;1132:14:46::1;-1:-1:-1::0;;;;;1132:14:46;;;::::1;::::0;;;::::1;::::0;;872:281::o;1160:379::-;1336:17;1413:32;;;;;;;;;;;;;;;;;1376:156;;-1:-1:-1;;;;;7414:15:67;;;1376:156:46;;;7396:34:67;7466:15;;;7446:18;;;7439:43;7518:15;;7498:18;;;7491:43;7331:18;;1376:156:46;;;-1:-1:-1;;1376:156:46;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;-1:-1:-1;;;;;1376:156:46;-1:-1:-1;;;;;;1376:156:46;;;;;;;;;;-1:-1:-1;1160:379:46;;;;;:::o;2081:198:6:-;1094:13;:11;:13::i;:::-;-1:-1:-1;;;;;2169:22:6;::::1;2161:73;;;::::0;-1:-1:-1;;;2161:73:6;;7747:2:67;2161:73:6::1;::::0;::::1;7729:21:67::0;7786:2;7766:18;;;7759:30;7825:34;7805:18;;;7798:62;-1:-1:-1;;;7876:18:67;;;7869:36;7922:19;;2161:73:6::1;7545:402:67::0;2161:73:6::1;2244:28;2263:8;2244:18;:28::i;:::-;2081:198:::0;:::o;1359:130::-;1247:7;1273:6;-1:-1:-1;;;;;1273:6:6;719:10:23;1422:23:6;1414:68;;;;-1:-1:-1;;;1414:68:6;;8154:2:67;1414:68:6;;;8136:21:67;;;8173:18;;;8166:30;8232:34;8212:18;;;8205:62;8284:18;;1414:68:6;7952:356:67;2433:187:6;2506:16;2525:6;;-1:-1:-1;;;;;2541:17:6;;;-1:-1:-1;;;;;;2541:17:6;;;;;;2573:40;;2525:6;;;;;;;2573:40;;2506:16;2573:40;2496:124;2433:187;:::o;14:149:67:-;-1:-1:-1;;;;;107:31:67;;97:42;;87:70;;153:1;150;143:12;168:290;252:6;305:2;293:9;284:7;280:23;276:32;273:52;;;321:1;318;311:12;273:52;360:9;347:23;379:49;422:5;379:49;:::i;:::-;447:5;168:290;-1:-1:-1;;;168:290:67:o;463:250::-;548:1;558:113;572:6;569:1;566:13;558:113;;;648:11;;;642:18;629:11;;;622:39;594:2;587:10;558:113;;;-1:-1:-1;;705:1:67;687:16;;680:27;463:250::o;718:271::-;760:3;798:5;792:12;825:6;820:3;813:19;841:76;910:6;903:4;898:3;894:14;887:4;880:5;876:16;841:76;:::i;:::-;971:2;950:15;-1:-1:-1;;946:29:67;937:39;;;;978:4;933:50;;718:271;-1:-1:-1;;718:271:67:o;994:220::-;1143:2;1132:9;1125:21;1106:4;1163:45;1204:2;1193:9;1189:18;1181:6;1163:45;:::i;2490:583::-;2567:6;2575;2583;2636:2;2624:9;2615:7;2611:23;2607:32;2604:52;;;2652:1;2649;2642:12;2604:52;2691:9;2678:23;2710:49;2753:5;2710:49;:::i;:::-;2778:5;-1:-1:-1;2835:2:67;2820:18;;2807:32;2848:51;2807:32;2848:51;:::i;:::-;2918:7;-1:-1:-1;2977:2:67;2962:18;;2949:32;2990:51;2949:32;2990:51;:::i;:::-;3060:7;3050:17;;;2490:583;;;;;:::o;4773:289::-;4904:3;4942:6;4936:13;4958:66;5017:6;5012:3;5005:4;4997:6;4993:17;4958:66;:::i;:::-;5040:16;;;;;4773:289;-1:-1:-1;;4773:289:67:o;5067:315::-;-1:-1:-1;;;;;5242:32:67;;5224:51;;5311:2;5306;5291:18;;5284:30;;;-1:-1:-1;;5331:45:67;;5357:18;;5349:6;5331:45;:::i;:::-;5323:53;5067:315;-1:-1:-1;;;;5067:315:67:o;5746:269::-;5816:6;5869:2;5857:9;5848:7;5844:23;5840:32;5837:52;;;5885:1;5882;5875:12;5837:52;5917:9;5911:16;5936:49;5979:5;5936:49;:::i",
  "language": "Solidity",
  "natspec": {
    "kind": "dev",
    "methods": {
      "owner()": {
        "details": "Returns the address of the current owner."
      },
      "renounceOwnership()": {
        "details": "Leaves the contract without owner. It will not be possible to call `onlyOwner` functions anymore. Can only be called by the current owner. NOTE: Renouncing ownership will leave the contract without an owner, thereby removing any functionality that is only available to the owner."
      },
      "transferOwnership(address)": {
        "details": "Transfers ownership of the contract to a new account (`newOwner`). Can only be called by the current owner."
      }
    },
    "version": 1
  },
  "offset": [
    311,
    2811
  ],
  "opcodes": "PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH2 0x10 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x4 CALLDATASIZE LT PUSH2 0xA9 JUMPI PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0x8DA5CB5B GT PUSH2 0x71 JUMPI DUP1 PUSH4 0x8DA5CB5B EQ PUSH2 0x134 JUMPI DUP1 PUSH4 0x933A9CE8 EQ PUSH2 0x159 JUMPI DUP1 PUSH4 0x97107D6D EQ PUSH2 0x16A JUMPI DUP1 PUSH4 0xAAF10F42 EQ PUSH2 0x17D JUMPI DUP1 PUSH4 0xE49771BF EQ PUSH2 0x18E JUMPI DUP1 PUSH4 0xF2FDE38B EQ PUSH2 0x1A1 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP1 PUSH4 0x900F010 EQ PUSH2 0xAE JUMPI DUP1 PUSH4 0x68380765 EQ PUSH2 0xC3 JUMPI DUP1 PUSH4 0x715018A6 EQ PUSH2 0x111 JUMPI DUP1 PUSH4 0x75829DEF EQ PUSH2 0x119 JUMPI DUP1 PUSH4 0x8765C329 EQ PUSH2 0x12C JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0xC1 PUSH2 0xBC CALLDATASIZE PUSH1 0x4 PUSH2 0x870 JUMP JUMPDEST PUSH2 0x1B4 JUMP JUMPDEST STOP JUMPDEST PUSH2 0xFB PUSH1 0x40 MLOAD DUP1 PUSH1 0x40 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0x19 DUP2 MSTORE PUSH1 0x20 ADD PUSH25 0x616374697661746528616464726573732C6164647265737329 PUSH1 0x38 SHL DUP2 MSTORE POP DUP2 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x108 SWAP2 SWAP1 PUSH2 0x8E4 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0xC1 PUSH2 0x3EB JUMP JUMPDEST PUSH2 0xC1 PUSH2 0x127 CALLDATASIZE PUSH1 0x4 PUSH2 0x870 JUMP JUMPDEST PUSH2 0x3FF JUMP JUMPDEST PUSH2 0xFB PUSH2 0x5B5 JUMP JUMPDEST PUSH1 0x0 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP1 SWAP2 AND DUP2 MSTORE PUSH1 0x20 ADD PUSH2 0x108 JUMP JUMPDEST PUSH1 0x2 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH2 0x141 JUMP JUMPDEST PUSH2 0xC1 PUSH2 0x178 CALLDATASIZE PUSH1 0x4 PUSH2 0x870 JUMP JUMPDEST PUSH2 0x5D1 JUMP JUMPDEST PUSH1 0x1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH2 0x141 JUMP JUMPDEST PUSH2 0xFB PUSH2 0x19C CALLDATASIZE PUSH1 0x4 PUSH2 0x8F7 JUMP JUMPDEST PUSH2 0x6AA JUMP JUMPDEST PUSH2 0xC1 PUSH2 0x1AF CALLDATASIZE PUSH1 0x4 PUSH2 0x870 JUMP JUMPDEST PUSH2 0x738 JUMP JUMPDEST PUSH2 0x1BC PUSH2 0x7B1 JUMP JUMPDEST PUSH1 0x2 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH2 0x219 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x1B PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x4552524F523A5058412D3032303A50524F58595F4E4F545F5345540000000000 PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND PUSH2 0x279 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x21 PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x4552524F523A5058412D3032313A494D504C454D454E544154494F4E5F5A4552 PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x4F PUSH1 0xF8 SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH2 0x210 JUMP JUMPDEST PUSH1 0x1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP1 DUP2 AND SWAP1 DUP3 AND SUB PUSH2 0x2E3 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x24 DUP1 DUP3 ADD MSTORE PUSH32 0x4552524F523A5058412D3032323A494D504C454D454E544154494F4E5F4E4F54 PUSH1 0x44 DUP3 ADD MSTORE PUSH4 0x5F4E4557 PUSH1 0xE0 SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH2 0x210 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 DUP2 AND SWAP2 DUP3 OR SWAP1 SWAP3 SSTORE PUSH1 0x2 SLOAD PUSH1 0x40 DUP1 MLOAD DUP1 DUP3 ADD DUP3 MSTORE PUSH1 0x19 DUP2 MSTORE PUSH25 0x616374697661746528616464726573732C6164647265737329 PUSH1 0x38 SHL PUSH1 0x20 DUP3 ADD MSTORE SWAP1 MLOAD PUSH1 0x24 DUP2 ADD SWAP4 SWAP1 SWAP4 MSTORE CALLER PUSH1 0x44 DUP5 ADD DUP2 SWAP1 MSTORE SWAP4 SWAP2 SWAP1 SWAP2 AND SWAP2 PUSH4 0x4F1EF286 SWAP2 DUP6 SWAP2 PUSH1 0x64 ADD PUSH1 0x40 DUP1 MLOAD PUSH1 0x1F NOT DUP2 DUP5 SUB ADD DUP2 MSTORE SWAP1 DUP3 SWAP1 MSTORE SWAP2 PUSH2 0x372 SWAP2 PUSH2 0x942 JUMP JUMPDEST PUSH1 0x40 DUP1 MLOAD SWAP2 DUP3 SWAP1 SUB SWAP1 SWAP2 KECCAK256 PUSH1 0x20 DUP4 ADD DUP1 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xE0 SHL SUB AND PUSH1 0x1 PUSH1 0x1 PUSH1 0xE0 SHL SUB NOT SWAP3 DUP4 AND OR SWAP1 MSTORE SWAP1 MLOAD PUSH1 0xE0 DUP6 SWAP1 SHL SWAP1 SWAP2 AND DUP2 MSTORE PUSH2 0x3B5 SWAP3 SWAP2 SWAP1 PUSH1 0x4 ADD PUSH2 0x95E JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 PUSH1 0x0 DUP8 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x3CF JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS CALL ISZERO DUP1 ISZERO PUSH2 0x3E3 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP POP POP JUMP JUMPDEST PUSH2 0x3F3 PUSH2 0x7B1 JUMP JUMPDEST PUSH2 0x3FD PUSH1 0x0 PUSH2 0x80B JUMP JUMPDEST JUMP JUMPDEST PUSH2 0x407 PUSH2 0x7B1 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND PUSH2 0x45D JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x1E PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x4552524F523A5058412D3033303A50524F58595F41444D494E5F5A45524F0000 PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH2 0x210 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH4 0x8DA5CB5B PUSH1 0x40 MLOAD DUP2 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x4B0 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 0x4D4 SWAP2 SWAP1 PUSH2 0x98A JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP2 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SUB PUSH2 0x553 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x36 PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x4552524F523A5058412D3033313A50524F58595F41444D494E5F53414D455F41 PUSH1 0x44 DUP3 ADD MSTORE PUSH22 0x29AFA4A6A82622A6A2A72A20AA24A7A72FA7ABA722A9 PUSH1 0x51 SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH2 0x210 JUMP JUMPDEST PUSH1 0x2 SLOAD PUSH1 0x40 MLOAD PUSH4 0x8F28397 PUSH1 0xE4 SHL DUP2 MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP4 DUP2 AND PUSH1 0x4 DUP4 ADD MSTORE SWAP1 SWAP2 AND SWAP1 PUSH4 0x8F283970 SWAP1 PUSH1 0x24 ADD PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 PUSH1 0x0 DUP8 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x59A JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS CALL ISZERO DUP1 ISZERO PUSH2 0x5AE JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP POP JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 PUSH1 0x60 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0x2C DUP2 MSTORE PUSH1 0x20 ADD PUSH2 0x9A8 PUSH1 0x2C SWAP2 CODECOPY DUP2 JUMP JUMPDEST PUSH2 0x5D9 PUSH2 0x7B1 JUMP JUMPDEST PUSH1 0x2 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND ISZERO PUSH2 0x632 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x1F PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x4552524F523A5058412D3031303A50524F58595F5345545F414C524541445900 PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH2 0x210 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND PUSH2 0x688 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x18 PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x4552524F523A5058412D3031313A50524F58595F5A45524F0000000000000000 PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH2 0x210 JUMP JUMPDEST PUSH1 0x2 DUP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB NOT AND PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP3 SWAP1 SWAP3 AND SWAP2 SWAP1 SWAP2 OR SWAP1 SSTORE JUMP JUMPDEST PUSH1 0x60 PUSH1 0x40 MLOAD DUP1 PUSH1 0x60 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0x2C DUP2 MSTORE PUSH1 0x20 ADD PUSH2 0x9A8 PUSH1 0x2C SWAP2 CODECOPY PUSH1 0x40 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP1 DUP8 AND PUSH1 0x24 DUP4 ADD MSTORE DUP1 DUP7 AND PUSH1 0x44 DUP4 ADD MSTORE DUP5 AND PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH1 0x40 DUP1 MLOAD PUSH1 0x1F NOT DUP2 DUP5 SUB ADD DUP2 MSTORE SWAP1 DUP3 SWAP1 MSTORE SWAP2 PUSH2 0x705 SWAP2 PUSH2 0x942 JUMP JUMPDEST PUSH1 0x40 MLOAD SWAP1 DUP2 SWAP1 SUB SWAP1 KECCAK256 PUSH1 0x20 DUP3 ADD DUP1 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xE0 SHL SUB AND PUSH1 0x1 PUSH1 0x1 PUSH1 0xE0 SHL SUB NOT SWAP1 SWAP3 AND SWAP2 SWAP1 SWAP2 OR SWAP1 MSTORE SWAP1 POP SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH2 0x740 PUSH2 0x7B1 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND PUSH2 0x7A5 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x26 PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x4F776E61626C653A206E6577206F776E657220697320746865207A65726F2061 PUSH1 0x44 DUP3 ADD MSTORE PUSH6 0x646472657373 PUSH1 0xD0 SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH2 0x210 JUMP JUMPDEST PUSH2 0x7AE DUP2 PUSH2 0x80B JUMP JUMPDEST POP JUMP JUMPDEST PUSH1 0x0 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND CALLER EQ PUSH2 0x3FD JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD DUP2 SWAP1 MSTORE PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x4F776E61626C653A2063616C6C6572206973206E6F7420746865206F776E6572 PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH2 0x210 JUMP JUMPDEST PUSH1 0x0 DUP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP4 DUP2 AND PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB NOT DUP4 AND DUP2 OR DUP5 SSTORE PUSH1 0x40 MLOAD SWAP2 SWAP1 SWAP3 AND SWAP3 DUP4 SWAP2 PUSH32 0x8BE0079C531659141344CD1FD0A4F28419497F9722A3DAAFE3B4186F6B6457E0 SWAP2 SWAP1 LOG3 POP POP JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND DUP2 EQ PUSH2 0x7AE JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x882 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 CALLDATALOAD PUSH2 0x88D DUP2 PUSH2 0x85B JUMP JUMPDEST SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 JUMPDEST DUP4 DUP2 LT ISZERO PUSH2 0x8AF JUMPI DUP2 DUP2 ADD MLOAD DUP4 DUP3 ADD MSTORE PUSH1 0x20 ADD PUSH2 0x897 JUMP JUMPDEST POP POP PUSH1 0x0 SWAP2 ADD MSTORE JUMP JUMPDEST PUSH1 0x0 DUP2 MLOAD DUP1 DUP5 MSTORE PUSH2 0x8D0 DUP2 PUSH1 0x20 DUP7 ADD PUSH1 0x20 DUP7 ADD PUSH2 0x894 JUMP JUMPDEST PUSH1 0x1F ADD PUSH1 0x1F NOT AND SWAP3 SWAP1 SWAP3 ADD PUSH1 0x20 ADD SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x20 DUP2 MSTORE PUSH1 0x0 PUSH2 0x88D PUSH1 0x20 DUP4 ADD DUP5 PUSH2 0x8B8 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 PUSH1 0x60 DUP5 DUP7 SUB SLT ISZERO PUSH2 0x90C JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP4 CALLDATALOAD PUSH2 0x917 DUP2 PUSH2 0x85B JUMP JUMPDEST SWAP3 POP PUSH1 0x20 DUP5 ADD CALLDATALOAD PUSH2 0x927 DUP2 PUSH2 0x85B JUMP JUMPDEST SWAP2 POP PUSH1 0x40 DUP5 ADD CALLDATALOAD PUSH2 0x937 DUP2 PUSH2 0x85B JUMP JUMPDEST DUP1 SWAP2 POP POP SWAP3 POP SWAP3 POP SWAP3 JUMP JUMPDEST PUSH1 0x0 DUP3 MLOAD PUSH2 0x954 DUP2 DUP5 PUSH1 0x20 DUP8 ADD PUSH2 0x894 JUMP JUMPDEST SWAP2 SWAP1 SWAP2 ADD SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP4 AND DUP2 MSTORE PUSH1 0x40 PUSH1 0x20 DUP3 ADD DUP2 SWAP1 MSTORE PUSH1 0x0 SWAP1 PUSH2 0x982 SWAP1 DUP4 ADD DUP5 PUSH2 0x8B8 JUMP JUMPDEST SWAP5 SWAP4 POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x99C JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 MLOAD PUSH2 0x88D DUP2 PUSH2 0x85B JUMP INVALID PUSH2 0x6374 PUSH10 0x76617465416E64536574 0x4F PUSH24 0x6E657228616464726573732C616464726573732C61646472 PUSH6 0x737329A26469 PUSH17 0x66735822122097EE01D5F71ABA4CE424B0 0x5C PUSH14 0x4972F928520A26E8FE1AD09DC01B 0x2B BALANCE PUSH27 0xFFDC64736F6C634300081300330000000000000000000000000000 ",
  "pcMap": {
    "0": {
      "offset": [
        311,
        2811
      ],
      "op": "PUSH1",
      "path": "46",
      "value": "0x80"
    },
    "2": {
      "fn": null,
      "offset": [
        311,
        2811
      ],
      "op": "PUSH1",
      "path": "46",
      "value": "0x40"
    },
    "4": {
      "fn": null,
      "offset": [
        311,
        2811
      ],
      "op": "MSTORE",
      "path": "46"
    },
    "5": {
      "fn": null,
      "offset": [
        311,
        2811
      ],
      "op": "CALLVALUE",
      "path": "46"
    },
    "6": {
      "fn": null,
      "offset": [
        311,
        2811
      ],
      "op": "DUP1",
      "path": "46"
    },
    "7": {
      "fn": null,
      "offset": [
        311,
        2811
      ],
      "op": "ISZERO",
      "path": "46"
    },
    "8": {
      "fn": null,
      "offset": [
        311,
        2811
      ],
      "op": "PUSH2",
      "path": "46",
      "value": "0x10"
    },
    "11": {
      "fn": null,
      "offset": [
        311,
        2811
      ],
      "op": "JUMPI",
      "path": "46"
    },
    "12": {
      "fn": null,
      "offset": [
        311,
        2811
      ],
      "op": "PUSH1",
      "path": "46",
      "value": "0x0"
    },
    "14": {
      "fn": null,
      "offset": [
        311,
        2811
      ],
      "op": "DUP1",
      "path": "46"
    },
    "15": {
      "dev": "Cannot send ether to nonpayable function",
      "fn": null,
      "offset": [
        311,
        2811
      ],
      "op": "REVERT",
      "path": "46"
    },
    "16": {
      "fn": null,
      "offset": [
        311,
        2811
      ],
      "op": "JUMPDEST",
      "path": "46"
    },
    "17": {
      "fn": null,
      "offset": [
        311,
        2811
      ],
      "op": "POP",
      "path": "46"
    },
    "18": {
      "fn": null,
      "offset": [
        311,
        2811
      ],
      "op": "PUSH1",
      "path": "46",
      "value": "0x4"
    },
    "20": {
      "fn": null,
      "offset": [
        311,
        2811
      ],
      "op": "CALLDATASIZE",
      "path": "46"
    },
    "21": {
      "fn": null,
      "offset": [
        311,
        2811
      ],
      "op": "LT",
      "path": "46"
    },
    "22": {
      "fn": null,
      "offset": [
        311,
        2811
      ],
      "op": "PUSH2",
      "path": "46",
      "value": "0xA9"
    },
    "25": {
      "fn": null,
      "offset": [
        311,
        2811
      ],
      "op": "JUMPI",
      "path": "46"
    },
    "26": {
      "fn": null,
      "offset": [
        311,
        2811
      ],
      "op": "PUSH1",
      "path": "46",
      "value": "0x0"
    },
    "28": {
      "fn": null,
      "offset": [
        311,
        2811
      ],
      "op": "CALLDATALOAD",
      "path": "46"
    },
    "29": {
      "fn": null,
      "offset": [
        311,
        2811
      ],
      "op": "PUSH1",
      "path": "46",
      "value": "0xE0"
    },
    "31": {
      "fn": null,
      "offset": [
        311,
        2811
      ],
      "op": "SHR",
      "path": "46"
    },
    "32": {
      "fn": null,
      "offset": [
        311,
        2811
      ],
      "op": "DUP1",
      "path": "46"
    },
    "33": {
      "fn": null,
      "offset": [
        311,
        2811
      ],
      "op": "PUSH4",
      "path": "46",
      "value": "0x8DA5CB5B"
    },
    "38": {
      "fn": null,
      "offset": [
        311,
        2811
      ],
      "op": "GT",
      "path": "46"
    },
    "39": {
      "fn": null,
      "offset": [
        311,
        2811
      ],
      "op": "PUSH2",
      "path": "46",
      "value": "0x71"
    },
    "42": {
      "fn": null,
      "offset": [
        311,
        2811
      ],
      "op": "JUMPI",
      "path": "46"
    },
    "43": {
      "fn": null,
      "offset": [
        311,
        2811
      ],
      "op": "DUP1",
      "path": "46"
    },
    "44": {
      "fn": null,
      "offset": [
        311,
        2811
      ],
      "op": "PUSH4",
      "path": "46",
      "value": "0x8DA5CB5B"
    },
    "49": {
      "fn": null,
      "offset": [
        311,
        2811
      ],
      "op": "EQ",
      "path": "46"
    },
    "50": {
      "fn": null,
      "offset": [
        311,
        2811
      ],
      "op": "PUSH2",
      "path": "46",
      "value": "0x134"
    },
    "53": {
      "fn": null,
      "offset": [
        311,
        2811
      ],
      "op": "JUMPI",
      "path": "46"
    },
    "54": {
      "fn": null,
      "offset": [
        311,
        2811
      ],
      "op": "DUP1",
      "path": "46"
    },
    "55": {
      "fn": null,
      "offset": [
        311,
        2811
      ],
      "op": "PUSH4",
      "path": "46",
      "value": "0x933A9CE8"
    },
    "60": {
      "fn": null,
      "offset": [
        311,
        2811
      ],
      "op": "EQ",
      "path": "46"
    },
    "61": {
      "fn": null,
      "offset": [
        311,
        2811
      ],
      "op": "PUSH2",
      "path": "46",
      "value": "0x159"
    },
    "64": {
      "fn": null,
      "offset": [
        311,
        2811
      ],
      "op": "JUMPI",
      "path": "46"
    },
    "65": {
      "fn": null,
      "offset": [
        311,
        2811
      ],
      "op": "DUP1",
      "path": "46"
    },
    "66": {
      "fn": null,
      "offset": [
        311,
        2811
      ],
      "op": "PUSH4",
      "path": "46",
      "value": "0x97107D6D"
    },
    "71": {
      "fn": null,
      "offset": [
        311,
        2811
      ],
      "op": "EQ",
      "path": "46"
    },
    "72": {
      "fn": null,
      "offset": [
        311,
        2811
      ],
      "op": "PUSH2",
      "path": "46",
      "value": "0x16A"
    },
    "75": {
      "fn": null,
      "offset": [
        311,
        2811
      ],
      "op": "JUMPI",
      "path": "46"
    },
    "76": {
      "fn": null,
      "offset": [
        311,
        2811
      ],
      "op": "DUP1",
      "path": "46"
    },
    "77": {
      "fn": null,
      "offset": [
        311,
        2811
      ],
      "op": "PUSH4",
      "path": "46",
      "value": "0xAAF10F42"
    },
    "82": {
      "fn": null,
      "offset": [
        311,
        2811
      ],
      "op": "EQ",
      "path": "46"
    },
    "83": {
      "fn": null,
      "offset": [
        311,
        2811
      ],
      "op": "PUSH2",
      "path": "46",
      "value": "0x17D"
    },
    "86": {
      "fn": null,
      "offset": [
        311,
        2811
      ],
      "op": "JUMPI",
      "path": "46"
    },
    "87": {
      "fn": null,
      "offset": [
        311,
        2811
      ],
      "op": "DUP1",
      "path": "46"
    },
    "88": {
      "fn": null,
      "offset": [
        311,
        2811
      ],
      "op": "PUSH4",
      "path": "46",
      "value": "0xE49771BF"
    },
    "93": {
      "fn": null,
      "offset": [
        311,
        2811
      ],
      "op": "EQ",
      "path": "46"
    },
    "94": {
      "fn": null,
      "offset": [
        311,
        2811
      ],
      "op": "PUSH2",
      "path": "46",
      "value": "0x18E"
    },
    "97": {
      "fn": null,
      "offset": [
        311,
        2811
      ],
      "op": "JUMPI",
      "path": "46"
    },
    "98": {
      "fn": null,
      "offset": [
        311,
        2811
      ],
      "op": "DUP1",
      "path": "46"
    },
    "99": {
      "fn": null,
      "offset": [
        311,
        2811
      ],
      "op": "PUSH4",
      "path": "46",
      "value": "0xF2FDE38B"
    },
    "104": {
      "fn": null,
      "offset": [
        311,
        2811
      ],
      "op": "EQ",
      "path": "46"
    },
    "105": {
      "fn": null,
      "offset": [
        311,
        2811
      ],
      "op": "PUSH2",
      "path": "46",
      "value": "0x1A1"
    },
    "108": {
      "fn": null,
      "offset": [
        311,
        2811
      ],
      "op": "JUMPI",
      "path": "46"
    },
    "109": {
      "fn": null,
      "offset": [
        311,
        2811
      ],
      "op": "PUSH1",
      "path": "46",
      "value": "0x0"
    },
    "111": {
      "fn": null,
      "offset": [
        311,
        2811
      ],
      "op": "DUP1",
      "path": "46"
    },
    "112": {
      "fn": null,
      "offset": [
        311,
        2811
      ],
      "op": "REVERT",
      "path": "46"
    },
    "113": {
      "fn": null,
      "offset": [
        311,
        2811
      ],
      "op": "JUMPDEST",
      "path": "46"
    },
    "114": {
      "fn": null,
      "offset": [
        311,
        2811
      ],
      "op": "DUP1",
      "path": "46"
    },
    "115": {
      "fn": null,
      "offset": [
        311,
        2811
      ],
      "op": "PUSH4",
      "path": "46",
      "value": "0x900F010"
    },
    "120": {
      "fn": null,
      "offset": [
        311,
        2811
      ],
      "op": "EQ",
      "path": "46"
    },
    "121": {
      "fn": null,
      "offset": [
        311,
        2811
      ],
      "op": "PUSH2",
      "path": "46",
      "value": "0xAE"
    },
    "124": {
      "fn": null,
      "offset": [
        311,
        2811
      ],
      "op": "JUMPI",
      "path": "46"
    },
    "125": {
      "fn": null,
      "offset": [
        311,
        2811
      ],
      "op": "DUP1",
      "path": "46"
    },
    "126": {
      "fn": null,
      "offset": [
        311,
        2811
      ],
      "op": "PUSH4",
      "path": "46",
      "value": "0x68380765"
    },
    "131": {
      "fn": null,
      "offset": [
        311,
        2811
      ],
      "op": "EQ",
      "path": "46"
    },
    "132": {
      "fn": null,
      "offset": [
        311,
        2811
      ],
      "op": "PUSH2",
      "path": "46",
      "value": "0xC3"
    },
    "135": {
      "fn": null,
      "offset": [
        311,
        2811
      ],
      "op": "JUMPI",
      "path": "46"
    },
    "136": {
      "fn": null,
      "offset": [
        311,
        2811
      ],
      "op": "DUP1",
      "path": "46"
    },
    "137": {
      "fn": null,
      "offset": [
        311,
        2811
      ],
      "op": "PUSH4",
      "path": "46",
      "value": "0x715018A6"
    },
    "142": {
      "fn": null,
      "offset": [
        311,
        2811
      ],
      "op": "EQ",
      "path": "46"
    },
    "143": {
      "fn": null,
      "offset": [
        311,
        2811
      ],
      "op": "PUSH2",
      "path": "46",
      "value": "0x111"
    },
    "146": {
      "fn": null,
      "offset": [
        311,
        2811
      ],
      "op": "JUMPI",
      "path": "46"
    },
    "147": {
      "fn": null,
      "offset": [
        311,
        2811
      ],
      "op": "DUP1",
      "path": "46"
    },
    "148": {
      "fn": null,
      "offset": [
        311,
        2811
      ],
      "op": "PUSH4",
      "path": "46",
      "value": "0x75829DEF"
    },
    "153": {
      "fn": null,
      "offset": [
        311,
        2811
      ],
      "op": "EQ",
      "path": "46"
    },
    "154": {
      "fn": null,
      "offset": [
        311,
        2811
      ],
      "op": "PUSH2",
      "path": "46",
      "value": "0x119"
    },
    "157": {
      "fn": null,
      "offset": [
        311,
        2811
      ],
      "op": "JUMPI",
      "path": "46"
    },
    "158": {
      "fn": null,
      "offset": [
        311,
        2811
      ],
      "op": "DUP1",
      "path": "46"
    },
    "159": {
      "fn": null,
      "offset": [
        311,
        2811
      ],
      "op": "PUSH4",
      "path": "46",
      "value": "0x8765C329"
    },
    "164": {
      "fn": null,
      "offset": [
        311,
        2811
      ],
      "op": "EQ",
      "path": "46"
    },
    "165": {
      "fn": null,
      "offset": [
        311,
        2811
      ],
      "op": "PUSH2",
      "path": "46",
      "value": "0x12C"
    },
    "168": {
      "fn": null,
      "offset": [
        311,
        2811
      ],
      "op": "JUMPI",
      "path": "46"
    },
    "169": {
      "fn": null,
      "offset": [
        311,
        2811
      ],
      "op": "JUMPDEST",
      "path": "46"
    },
    "170": {
      "fn": null,
      "offset": [
        311,
        2811
      ],
      "op": "PUSH1",
      "path": "46",
      "value": "0x0"
    },
    "172": {
      "fn": null,
      "offset": [
        311,
        2811
      ],
      "op": "DUP1",
      "path": "46"
    },
    "173": {
      "first_revert": true,
      "fn": null,
      "offset": [
        311,
        2811
      ],
      "op": "REVERT",
      "path": "46"
    },
    "174": {
      "fn": "OwnableProxyAdmin.upgrade",
      "offset": [
        1546,
        2258
      ],
      "op": "JUMPDEST",
      "path": "46"
    },
    "175": {
      "fn": "OwnableProxyAdmin.upgrade",
      "offset": [
        1546,
        2258
      ],
      "op": "PUSH2",
      "path": "46",
      "value": "0xC1"
    },
    "178": {
      "fn": "OwnableProxyAdmin.upgrade",
      "offset": [
        1546,
        2258
      ],
      "op": "PUSH2",
      "path": "46",
      "value": "0xBC"
    },
    "181": {
      "fn": "OwnableProxyAdmin.upgrade",
      "offset": [
        1546,
        2258
      ],
      "op": "CALLDATASIZE",
      "path": "46"
    },
    "182": {
      "fn": "OwnableProxyAdmin.upgrade",
      "offset": [
        1546,
        2258
      ],
      "op": "PUSH1",
      "path": "46",
      "value": "0x4"
    },
    "184": {
      "fn": "OwnableProxyAdmin.upgrade",
      "offset": [
        1546,
        2258
      ],
      "op": "PUSH2",
      "path": "46",
      "value": "0x870"
    },
    "187": {
      "fn": "OwnableProxyAdmin.upgrade",
      "jump": "i",
      "offset": [
        1546,
        2258
      ],
      "op": "JUMP",
      "path": "46"
    },
    "188": {
      "fn": "OwnableProxyAdmin.upgrade",
      "offset": [
        1546,
        2258
      ],
      "op": "JUMPDEST",
      "path": "46"
    },
    "189": {
      "fn": "OwnableProxyAdmin.upgrade",
      "offset": [
        1546,
        2258
      ],
      "op": "PUSH2",
      "path": "46",
      "value": "0x1B4"
    },
    "192": {
      "fn": "OwnableProxyAdmin.upgrade",
      "jump": "i",
      "offset": [
        1546,
        2258
      ],
      "op": "JUMP",
      "path": "46"
    },
    "193": {
      "fn": "OwnableProxyAdmin.upgrade",
      "offset": [
        1546,
        2258
      ],
      "op": "JUMPDEST",
      "path": "46"
    },
    "194": {
      "fn": "OwnableProxyAdmin.upgrade",
      "offset": [
        1546,
        2258
      ],
      "op": "STOP",
      "path": "46"
    },
    "195": {
      "offset": [
        359,
        430
      ],
      "op": "JUMPDEST",
      "path": "46"
    },
    "196": {
      "fn": "OwnableProxyAdmin.upgrade",
      "offset": [
        359,
        430
      ],
      "op": "PUSH2",
      "path": "46",
      "value": "0xFB"
    },
    "199": {
      "fn": "OwnableProxyAdmin.upgrade",
      "offset": [
        359,
        430
      ],
      "op": "PUSH1",
      "path": "46",
      "value": "0x40"
    },
    "201": {
      "fn": "OwnableProxyAdmin.upgrade",
      "offset": [
        359,
        430
      ],
      "op": "MLOAD",
      "path": "46"
    },
    "202": {
      "fn": "OwnableProxyAdmin.upgrade",
      "offset": [
        359,
        430
      ],
      "op": "DUP1",
      "path": "46"
    },
    "203": {
      "fn": "OwnableProxyAdmin.upgrade",
      "offset": [
        359,
        430
      ],
      "op": "PUSH1",
      "path": "46",
      "value": "0x40"
    },
    "205": {
      "fn": "OwnableProxyAdmin.upgrade",
      "offset": [
        359,
        430
      ],
      "op": "ADD",
      "path": "46"
    },
    "206": {
      "fn": "OwnableProxyAdmin.upgrade",
      "offset": [
        359,
        430
      ],
      "op": "PUSH1",
      "path": "46",
      "value": "0x40"
    },
    "208": {
      "fn": "OwnableProxyAdmin.upgrade",
      "offset": [
        359,
        430
      ],
      "op": "MSTORE",
      "path": "46"
    },
    "209": {
      "fn": "OwnableProxyAdmin.upgrade",
      "offset": [
        359,
        430
      ],
      "op": "DUP1",
      "path": "46"
    },
    "210": {
      "fn": "OwnableProxyAdmin.upgrade",
      "offset": [
        359,
        430
      ],
      "op": "PUSH1",
      "path": "46",
      "value": "0x19"
    },
    "212": {
      "fn": "OwnableProxyAdmin.upgrade",
      "offset": [
        359,
        430
      ],
      "op": "DUP2",
      "path": "46"
    },
    "213": {
      "fn": "OwnableProxyAdmin.upgrade",
      "offset": [
        359,
        430
      ],
      "op": "MSTORE",
      "path": "46"
    },
    "214": {
      "fn": "OwnableProxyAdmin.upgrade",
      "offset": [
        359,
        430
      ],
      "op": "PUSH1",
      "path": "46",
      "value": "0x20"
    },
    "216": {
      "fn": "OwnableProxyAdmin.upgrade",
      "offset": [
        359,
        430
      ],
      "op": "ADD",
      "path": "46"
    },
    "217": {
      "op": "PUSH25",
      "value": "0x616374697661746528616464726573732C6164647265737329"
    },
    "243": {
      "op": "PUSH1",
      "value": "0x38"
    },
    "245": {
      "op": "SHL"
    },
    "246": {
      "offset": [
        359,
        430
      ],
      "op": "DUP2",
      "path": "46"
    },
    "247": {
      "fn": "OwnableProxyAdmin.upgrade",
      "offset": [
        359,
        430
      ],
      "op": "MSTORE",
      "path": "46"
    },
    "248": {
      "fn": "OwnableProxyAdmin.upgrade",
      "offset": [
        359,
        430
      ],
      "op": "POP",
      "path": "46"
    },
    "249": {
      "fn": "OwnableProxyAdmin.upgrade",
      "offset": [
        359,
        430
      ],
      "op": "DUP2",
      "path": "46"
    },
    "250": {
      "fn": "OwnableProxyAdmin.upgrade",
      "offset": [
        359,
        430
      ],
      "op": "JUMP",
      "path": "46"
    },
    "251": {
      "fn": "OwnableProxyAdmin.upgrade",
      "offset": [
        359,
        430
      ],
      "op": "JUMPDEST",
      "path": "46"
    },
    "252": {
      "fn": "OwnableProxyAdmin.upgrade",
      "offset": [
        359,
        430
      ],
      "op": "PUSH1",
      "path": "46",
      "value": "0x40"
    },
    "254": {
      "fn": "OwnableProxyAdmin.upgrade",
      "offset": [
        359,
        430
      ],
      "op": "MLOAD",
      "path": "46"
    },
    "255": {
      "fn": "OwnableProxyAdmin.upgrade",
      "offset": [
        359,
        430
      ],
      "op": "PUSH2",
      "path": "46",
      "value": "0x108"
    },
    "258": {
      "fn": "OwnableProxyAdmin.upgrade",
      "offset": [
        359,
        430
      ],
      "op": "SWAP2",
      "path": "46"
    },
    "259": {
      "fn": "OwnableProxyAdmin.upgrade",
      "offset": [
        359,
        430
      ],
      "op": "SWAP1",
      "path": "46"
    },
    "260": {
      "fn": "OwnableProxyAdmin.upgrade",
      "offset": [
        359,
        430
      ],
      "op": "PUSH2",
      "path": "46",
      "value": "0x8E4"
    },
    "263": {
      "fn": "OwnableProxyAdmin.upgrade",
      "jump": "i",
      "offset": [
        359,
        430
      ],
      "op": "JUMP",
      "path": "46"
    },
    "264": {
      "fn": "OwnableProxyAdmin.upgrade",
      "offset": [
        359,
        430
      ],
      "op": "JUMPDEST",
      "path": "46"
    },
    "265": {
      "fn": "OwnableProxyAdmin.upgrade",
      "offset": [
        359,
        430
      ],
      "op": "PUSH1",
      "path": "46",
      "value": "0x40"
    },
    "267": {
      "fn": "OwnableProxyAdmin.upgrade",
      "offset": [
        359,
        430
      ],
      "op": "MLOAD",
      "path": "46"
    },
    "268": {
      "fn": "OwnableProxyAdmin.upgrade",
      "offset": [
        359,
        430
      ],
      "op": "DUP1",
      "path": "46"
    },
    "269": {
      "fn": "OwnableProxyAdmin.upgrade",
      "offset": [
        359,
        430
      ],
      "op": "SWAP2",
      "path": "46"
    },
    "270": {
      "fn": "OwnableProxyAdmin.upgrade",
      "offset": [
        359,
        430
      ],
      "op": "SUB",
      "path": "46"
    },
    "271": {
      "fn": "OwnableProxyAdmin.upgrade",
      "offset": [
        359,
        430
      ],
      "op": "SWAP1",
      "path": "46"
    },
    "272": {
      "fn": "OwnableProxyAdmin.upgrade",
      "offset": [
        359,
        430
      ],
      "op": "RETURN",
      "path": "46"
    },
    "273": {
      "fn": "Ownable.renounceOwnership",
      "offset": [
        1831,
        1932
      ],
      "op": "JUMPDEST",
      "path": "6"
    },
    "274": {
      "fn": "Ownable.renounceOwnership",
      "offset": [
        1831,
        1932
      ],
      "op": "PUSH2",
      "path": "6",
      "value": "0xC1"
    },
    "277": {
      "fn": "Ownable.renounceOwnership",
      "offset": [
        1831,
        1932
      ],
      "op": "PUSH2",
      "path": "6",
      "value": "0x3EB"
    },
    "280": {
      "fn": "Ownable.renounceOwnership",
      "jump": "i",
      "offset": [
        1831,
        1932
      ],
      "op": "JUMP",
      "path": "6"
    },
    "281": {
      "fn": "OwnableProxyAdmin.transferAdmin",
      "offset": [
        2265,
        2586
      ],
      "op": "JUMPDEST",
      "path": "46"
    },
    "282": {
      "fn": "OwnableProxyAdmin.transferAdmin",
      "offset": [
        2265,
        2586
      ],
      "op": "PUSH2",
      "path": "46",
      "value": "0xC1"
    },
    "285": {
      "fn": "OwnableProxyAdmin.transferAdmin",
      "offset": [
        2265,
        2586
      ],
      "op": "PUSH2",
      "path": "46",
      "value": "0x127"
    },
    "288": {
      "fn": "OwnableProxyAdmin.transferAdmin",
      "offset": [
        2265,
        2586
      ],
      "op": "CALLDATASIZE",
      "path": "46"
    },
    "289": {
      "fn": "OwnableProxyAdmin.transferAdmin",
      "offset": [
        2265,
        2586
      ],
      "op": "PUSH1",
      "path": "46",
      "value": "0x4"
    },
    "291": {
      "fn": "OwnableProxyAdmin.transferAdmin",
      "offset": [
        2265,
        2586
      ],
      "op": "PUSH2",
      "path": "46",
      "value": "0x870"
    },
    "294": {
      "fn": "OwnableProxyAdmin.transferAdmin",
      "jump": "i",
      "offset": [
        2265,
        2586
      ],
      "op": "JUMP",
      "path": "46"
    },
    "295": {
      "fn": "OwnableProxyAdmin.transferAdmin",
      "offset": [
        2265,
        2586
      ],
      "op": "JUMPDEST",
      "path": "46"
    },
    "296": {
      "fn": "OwnableProxyAdmin.transferAdmin",
      "offset": [
        2265,
        2586
      ],
      "op": "PUSH2",
      "path": "46",
      "value": "0x3FF"
    },
    "299": {
      "fn": "OwnableProxyAdmin.transferAdmin",
      "jump": "i",
      "offset": [
        2265,
        2586
      ],
      "op": "JUMP",
      "path": "46"
    },
    "300": {
      "offset": [
        436,
        540
      ],
      "op": "JUMPDEST",
      "path": "46"
    },
    "301": {
      "fn": "OwnableProxyAdmin.transferAdmin",
      "offset": [
        436,
        540
      ],
      "op": "PUSH2",
      "path": "46",
      "value": "0xFB"
    },
    "304": {
      "fn": "OwnableProxyAdmin.transferAdmin",
      "offset": [
        436,
        540
      ],
      "op": "PUSH2",
      "path": "46",
      "value": "0x5B5"
    },
    "307": {
      "fn": "OwnableProxyAdmin.transferAdmin",
      "jump": "i",
      "offset": [
        436,
        540
      ],
      "op": "JUMP",
      "path": "46"
    },
    "308": {
      "fn": "Ownable.owner",
      "offset": [
        1201,
        1286
      ],
      "op": "JUMPDEST",
      "path": "6"
    },
    "309": {
      "fn": "Ownable.owner",
      "offset": [
        1247,
        1254
      ],
      "op": "PUSH1",
      "path": "6",
      "value": "0x0"
    },
    "311": {
      "fn": "Ownable.owner",
      "offset": [
        1273,
        1279
      ],
      "op": "SLOAD",
      "path": "6",
      "statement": 0
    },
    "312": {
      "op": "PUSH1",
      "value": "0x1"
    },
    "314": {
      "op": "PUSH1",
      "value": "0x1"
    },
    "316": {
      "op": "PUSH1",
      "value": "0xA0"
    },
    "318": {
      "op": "SHL"
    },
    "319": {
      "op": "SUB"
    },
    "320": {
      "fn": "Ownable.owner",
      "offset": [
        1273,
        1279
      ],
      "op": "AND",
      "path": "6"
    },
    "321": {
      "fn": "Ownable.owner",
      "offset": [
        1201,
        1286
      ],
      "op": "JUMPDEST",
      "path": "6"
    },
    "322": {
      "fn": "Ownable.owner",
      "offset": [
        1201,
        1286
      ],
      "op": "PUSH1",
      "path": "6",
      "value": "0x40"
    },
    "324": {
      "fn": "Ownable.owner",
      "offset": [
        1201,
        1286
      ],
      "op": "MLOAD",
      "path": "6"
    },
    "325": {
      "op": "PUSH1",
      "value": "0x1"
    },
    "327": {
      "op": "PUSH1",
      "value": "0x1"
    },
    "329": {
      "op": "PUSH1",
      "value": "0xA0"
    },
    "331": {
      "op": "SHL"
    },
    "332": {
      "op": "SUB"
    },
    "333": {
      "op": "SWAP1"
    },
    "334": {
      "op": "SWAP2"
    },
    "335": {
      "op": "AND"
    },
    "336": {
      "op": "DUP2"
    },
    "337": {
      "op": "MSTORE"
    },
    "338": {
      "op": "PUSH1",
      "value": "0x20"
    },
    "340": {
      "op": "ADD"
    },
    "341": {
      "fn": "Ownable.owner",
      "offset": [
        1201,
        1286
      ],
      "op": "PUSH2",
      "path": "6",
      "value": "0x108"
    },
    "344": {
      "op": "JUMP"
    },
    "345": {
      "fn": "OwnableProxyAdmin.getProxy",
      "offset": [
        2708,
        2809
      ],
      "op": "JUMPDEST",
      "path": "46"
    },
    "346": {
      "fn": "OwnableProxyAdmin.getProxy",
      "offset": [
        2796,
        2802
      ],
      "op": "PUSH1",
      "path": "46",
      "statement": 1,
      "value": "0x2"
    },
    "348": {
      "fn": "OwnableProxyAdmin.getProxy",
      "offset": [
        2796,
        2802
      ],
      "op": "SLOAD",
      "path": "46"
    },
    "349": {
      "op": "PUSH1",
      "value": "0x1"
    },
    "351": {
      "op": "PUSH1",
      "value": "0x1"
    },
    "353": {
      "op": "PUSH1",
      "value": "0xA0"
    },
    "355": {
      "op": "SHL"
    },
    "356": {
      "op": "SUB"
    },
    "357": {
      "fn": "OwnableProxyAdmin.getProxy",
      "offset": [
        2796,
        2802
      ],
      "op": "AND",
      "path": "46"
    },
    "358": {
      "fn": "OwnableProxyAdmin.getProxy",
      "offset": [
        2708,
        2809
      ],
      "op": "PUSH2",
      "path": "46",
      "value": "0x141"
    },
    "361": {
      "fn": "OwnableProxyAdmin.getProxy",
      "offset": [
        2708,
        2809
      ],
      "op": "JUMP",
      "path": "46"
    },
    "362": {
      "fn": "OwnableProxyAdmin.setProxy",
      "offset": [
        872,
        1153
      ],
      "op": "JUMPDEST",
      "path": "46"
    },
    "363": {
      "fn": "OwnableProxyAdmin.setProxy",
      "offset": [
        872,
        1153
      ],
      "op": "PUSH2",
      "path": "46",
      "value": "0xC1"
    },
    "366": {
      "fn": "OwnableProxyAdmin.setProxy",
      "offset": [
        872,
        1153
      ],
      "op": "PUSH2",
      "path": "46",
      "value": "0x178"
    },
    "369": {
      "fn": "OwnableProxyAdmin.setProxy",
      "offset": [
        872,
        1153
      ],
      "op": "CALLDATASIZE",
      "path": "46"
    },
    "370": {
      "fn": "OwnableProxyAdmin.setProxy",
      "offset": [
        872,
        1153
      ],
      "op": "PUSH1",
      "path": "46",
      "value": "0x4"
    },
    "372": {
      "fn": "OwnableProxyAdmin.setProxy",
      "offset": [
        872,
        1153
      ],
      "op": "PUSH2",
      "path": "46",
      "value": "0x870"
    },
    "375": {
      "fn": "OwnableProxyAdmin.setProxy",
      "jump": "i",
      "offset": [
        872,
        1153
      ],
      "op": "JUMP",
      "path": "46"
    },
    "376": {
      "fn": "OwnableProxyAdmin.setProxy",
      "offset": [
        872,
        1153
      ],
      "op": "JUMPDEST",
      "path": "46"
    },
    "377": {
      "fn": "OwnableProxyAdmin.setProxy",
      "offset": [
        872,
        1153
      ],
      "op": "PUSH2",
      "path": "46",
      "value": "0x5D1"
    },
    "380": {
      "fn": "OwnableProxyAdmin.setProxy",
      "jump": "i",
      "offset": [
        872,
        1153
      ],
      "op": "JUMP",
      "path": "46"
    },
    "381": {
      "fn": "OwnableProxyAdmin.getImplementation",
      "offset": [
        2593,
        2701
      ],
      "op": "JUMPDEST",
      "path": "46"
    },
    "382": {
      "fn": "OwnableProxyAdmin.getImplementation",
      "offset": [
        2679,
        2694
      ],
      "op": "PUSH1",
      "path": "46",
      "statement": 2,
      "value": "0x1"
    },
    "384": {
      "fn": "OwnableProxyAdmin.getImplementation",
      "offset": [
        2679,
        2694
      ],
      "op": "SLOAD",
      "path": "46"
    },
    "385": {
      "op": "PUSH1",
      "value": "0x1"
    },
    "387": {
      "op": "PUSH1",
      "value": "0x1"
    },
    "389": {
      "op": "PUSH1",
      "value": "0xA0"
    },
    "391": {
      "op": "SHL"
    },
    "392": {
      "op": "SUB"
    },
    "393": {
      "fn": "OwnableProxyAdmin.getImplementation",
      "offset": [
        2679,
        2694
      ],
      "op": "AND",
      "path": "46"
    },
    "394": {
      "fn": "OwnableProxyAdmin.getImplementation",
      "offset": [
        2593,
        2701
      ],
      "op": "PUSH2",
      "path": "46",
      "value": "0x141"
    },
    "397": {
      "fn": "OwnableProxyAdmin.getImplementation",
      "offset": [
        2593,
        2701
      ],
      "op": "JUMP",
      "path": "46"
    },
    "398": {
      "fn": "OwnableProxyAdmin.getProxyCallData",
      "offset": [
        1160,
        1539
      ],
      "op": "JUMPDEST",
      "path": "46"
    },
    "399": {
      "fn": "OwnableProxyAdmin.getProxyCallData",
      "offset": [
        1160,
        1539
      ],
      "op": "PUSH2",
      "path": "46",
      "value": "0xFB"
    },
    "402": {
      "fn": "OwnableProxyAdmin.getProxyCallData",
      "offset": [
        1160,
        1539
      ],
      "op": "PUSH2",
      "path": "46",
      "value": "0x19C"
    },
    "405": {
      "fn": "OwnableProxyAdmin.getProxyCallData",
      "offset": [
        1160,
        1539
      ],
      "op": "CALLDATASIZE",
      "path": "46"
    },
    "406": {
      "fn": "OwnableProxyAdmin.getProxyCallData",
      "offset": [
        1160,
        1539
      ],
      "op": "PUSH1",
      "path": "46",
      "value": "0x4"
    },
    "408": {
      "fn": "OwnableProxyAdmin.getProxyCallData",
      "offset": [
        1160,
        1539
      ],
      "op": "PUSH2",
      "path": "46",
      "value": "0x8F7"
    },
    "411": {
      "fn": "OwnableProxyAdmin.getProxyCallData",
      "jump": "i",
      "offset": [
        1160,
        1539
      ],
      "op": "JUMP",
      "path": "46"
    },
    "412": {
      "fn": "OwnableProxyAdmin.getProxyCallData",
      "offset": [
        1160,
        1539
      ],
      "op": "JUMPDEST",
      "path": "46"
    },
    "413": {
      "fn": "OwnableProxyAdmin.getProxyCallData",
      "offset": [
        1160,
        1539
      ],
      "op": "PUSH2",
      "path": "46",
      "value": "0x6AA"
    },
    "416": {
      "fn": "OwnableProxyAdmin.getProxyCallData",
      "jump": "i",
      "offset": [
        1160,
        1539
      ],
      "op": "JUMP",
      "path": "46"
    },
    "417": {
      "fn": "Ownable.transferOwnership",
      "offset": [
        2081,
        2279
      ],
      "op": "JUMPDEST",
      "path": "6"
    },
    "418": {
      "fn": "Ownable.transferOwnership",
      "offset": [
        2081,
        2279
      ],
      "op": "PUSH2",
      "path": "6",
      "value": "0xC1"
    },
    "421": {
      "fn": "Ownable.transferOwnership",
      "offset": [
        2081,
        2279
      ],
      "op": "PUSH2",
      "path": "6",
      "value": "0x1AF"
    },
    "424": {
      "fn": "Ownable.transferOwnership",
      "offset": [
        2081,
        2279
      ],
      "op": "CALLDATASIZE",
      "path": "6"
    },
    "425": {
      "fn": "Ownable.transferOwnership",
      "offset": [
        2081,
        2279
      ],
      "op": "PUSH1",
      "path": "6",
      "value": "0x4"
    },
    "427": {
      "fn": "Ownable.transferOwnership",
      "offset": [
        2081,
        2279
      ],
      "op": "PUSH2",
      "path": "6",
      "value": "0x870"
    },
    "430": {
      "fn": "Ownable.transferOwnership",
      "jump": "i",
      "offset": [
        2081,
        2279
      ],
      "op": "JUMP",
      "path": "6"
    },
    "431": {
      "fn": "Ownable.transferOwnership",
      "offset": [
        2081,
        2279
      ],
      "op": "JUMPDEST",
      "path": "6"
    },
    "432": {
      "fn": "Ownable.transferOwnership",
      "offset": [
        2081,
        2279
      ],
      "op": "PUSH2",
      "path": "6",
      "value": "0x738"
    },
    "435": {
      "fn": "Ownable.transferOwnership",
      "jump": "i",
      "offset": [
        2081,
        2279
      ],
      "op": "JUMP",
      "path": "6"
    },
    "436": {
      "fn": "OwnableProxyAdmin.upgrade",
      "offset": [
        1546,
        2258
      ],
      "op": "JUMPDEST",
      "path": "46"
    },
    "437": {
      "offset": [
        1094,
        1107
      ],
      "op": "PUSH2",
      "path": "6",
      "value": "0x1BC"
    },
    "440": {
      "offset": [
        1094,
        1105
      ],
      "op": "PUSH2",
      "path": "6",
      "value": "0x7B1"
    },
    "443": {
      "jump": "i",
      "offset": [
        1094,
        1107
      ],
      "op": "JUMP",
      "path": "6"
    },
    "444": {
      "fn": "OwnableProxyAdmin.upgrade",
      "offset": [
        1094,
        1107
      ],
      "op": "JUMPDEST",
      "path": "6"
    },
    "445": {
      "fn": "OwnableProxyAdmin.upgrade",
      "offset": [
        1665,
        1671
      ],
      "op": "PUSH1",
      "path": "46",
      "statement": 3,
      "value": "0x2"
    },
    "447": {
      "fn": "OwnableProxyAdmin.upgrade",
      "offset": [
        1665,
        1671
      ],
      "op": "SLOAD",
      "path": "46"
    },
    "448": {
      "op": "PUSH1",
      "value": "0x1"
    },
    "450": {
      "op": "PUSH1",
      "value": "0x1"
    },
    "452": {
      "op": "PUSH1",
      "value": "0xA0"
    },
    "454": {
      "op": "SHL"
    },
    "455": {
      "op": "SUB"
    },
    "456": {
      "fn": "OwnableProxyAdmin.upgrade",
      "offset": [
        1665,
        1671
      ],
      "op": "AND",
      "path": "46"
    },
    "457": {
      "fn": "OwnableProxyAdmin.upgrade",
      "offset": [
        1649,
        1718
      ],
      "op": "PUSH2",
      "path": "46",
      "value": "0x219"
    },
    "460": {
      "fn": "OwnableProxyAdmin.upgrade",
      "offset": [
        1649,
        1718
      ],
      "op": "JUMPI",
      "path": "46"
    },
    "461": {
      "fn": "OwnableProxyAdmin.upgrade",
      "offset": [
        1649,
        1718
      ],
      "op": "PUSH1",
      "path": "46",
      "value": "0x40"
    },
    "463": {
      "fn": "OwnableProxyAdmin.upgrade",
      "offset": [
        1649,
        1718
      ],
      "op": "MLOAD",
      "path": "46"
    },
    "464": {
      "op": "PUSH3",
      "value": "0x461BCD"
    },
    "468": {
      "op": "PUSH1",
      "value": "0xE5"
    },
    "470": {
      "op": "SHL"
    },
    "471": {
      "fn": "OwnableProxyAdmin.upgrade",
      "offset": [
        1649,
        1718
      ],
      "op": "DUP2",
      "path": "46"
    },
    "472": {
      "fn": "OwnableProxyAdmin.upgrade",
      "offset": [
        1649,
        1718
      ],
      "op": "MSTORE",
      "path": "46"
    },
    "473": {
      "op": "PUSH1",
      "value": "0x20"
    },
    "475": {
      "fn": "OwnableProxyAdmin.upgrade",
      "offset": [
        1649,
        1718
      ],
      "op": "PUSH1",
      "path": "46",
      "value": "0x4"
    },
    "477": {
      "fn": "OwnableProxyAdmin.upgrade",
      "offset": [
        1649,
        1718
      ],
      "op": "DUP3",
      "path": "46"
    },
    "478": {
      "fn": "OwnableProxyAdmin.upgrade",
      "offset": [
        1649,
        1718
      ],
      "op": "ADD",
      "path": "46"
    },
    "479": {
      "op": "MSTORE"
    },
    "480": {
      "op": "PUSH1",
      "value": "0x1B"
    },
    "482": {
      "op": "PUSH1",
      "value": "0x24"
    },
    "484": {
      "op": "DUP3"
    },
    "485": {
      "op": "ADD"
    },
    "486": {
      "op": "MSTORE"
    },
    "487": {
      "op": "PUSH32",
      "value": "0x4552524F523A5058412D3032303A50524F58595F4E4F545F5345540000000000"
    },
    "520": {
      "op": "PUSH1",
      "value": "0x44"
    },
    "522": {
      "op": "DUP3"
    },
    "523": {
      "op": "ADD"
    },
    "524": {
      "op": "MSTORE"
    },
    "525": {
      "op": "PUSH1",
      "value": "0x64"
    },
    "527": {
      "op": "ADD"
    },
    "528": {
      "fn": "OwnableProxyAdmin.upgrade",
      "offset": [
        1649,
        1718
      ],
      "op": "JUMPDEST",
      "path": "46"
    },
    "529": {
      "fn": "OwnableProxyAdmin.upgrade",
      "offset": [
        1649,
        1718
      ],
      "op": "PUSH1",
      "path": "46",
      "value": "0x40"
    },
    "531": {
      "fn": "OwnableProxyAdmin.upgrade",
      "offset": [
        1649,
        1718
      ],
      "op": "MLOAD",
      "path": "46"
    },
    "532": {
      "fn": "OwnableProxyAdmin.upgrade",
      "offset": [
        1649,
        1718
      ],
      "op": "DUP1",
      "path": "46"
    },
    "533": {
      "fn": "OwnableProxyAdmin.upgrade",
      "offset": [
        1649,
        1718
      ],
      "op": "SWAP2",
      "path": "46"
    },
    "534": {
      "fn": "OwnableProxyAdmin.upgrade",
      "offset": [
        1649,
        1718
      ],
      "op": "SUB",
      "path": "46"
    },
    "535": {
      "fn": "OwnableProxyAdmin.upgrade",
      "offset": [
        1649,
        1718
      ],
      "op": "SWAP1",
      "path": "46"
    },
    "536": {
      "fn": "OwnableProxyAdmin.upgrade",
      "offset": [
        1649,
        1718
      ],
      "op": "REVERT",
      "optimizer_revert": true,
      "path": "46"
    },
    "537": {
      "fn": "OwnableProxyAdmin.upgrade",
      "offset": [
        1649,
        1718
      ],
      "op": "JUMPDEST",
      "path": "46"
    },
    "538": {
      "op": "PUSH1",
      "value": "0x1"
    },
    "540": {
      "op": "PUSH1",
      "value": "0x1"
    },
    "542": {
      "op": "PUSH1",
      "value": "0xA0"
    },
    "544": {
      "op": "SHL"
    },
    "545": {
      "op": "SUB"
    },
    "546": {
      "fn": "OwnableProxyAdmin.upgrade",
      "offset": [
        1736,
        1776
      ],
      "op": "DUP2",
      "path": "46",
      "statement": 4
    },
    "547": {
      "branch": 22,
      "fn": "OwnableProxyAdmin.upgrade",
      "offset": [
        1736,
        1776
      ],
      "op": "AND",
      "path": "46"
    },
    "548": {
      "fn": "OwnableProxyAdmin.upgrade",
      "offset": [
        1728,
        1814
      ],
      "op": "PUSH2",
      "path": "46",
      "value": "0x279"
    },
    "551": {
      "branch": 22,
      "fn": "OwnableProxyAdmin.upgrade",
      "offset": [
        1728,
        1814
      ],
      "op": "JUMPI",
      "path": "46"
    },
    "552": {
      "fn": "OwnableProxyAdmin.upgrade",
      "offset": [
        1728,
        1814
      ],
      "op": "PUSH1",
      "path": "46",
      "value": "0x40"
    },
    "554": {
      "fn": "OwnableProxyAdmin.upgrade",
      "offset": [
        1728,
        1814
      ],
      "op": "MLOAD",
      "path": "46"
    },
    "555": {
      "op": "PUSH3",
      "value": "0x461BCD"
    },
    "559": {
      "op": "PUSH1",
      "value": "0xE5"
    },
    "561": {
      "op": "SHL"
    },
    "562": {
      "fn": "OwnableProxyAdmin.upgrade",
      "offset": [
        1728,
        1814
      ],
      "op": "DUP2",
      "path": "46"
    },
    "563": {
      "fn": "OwnableProxyAdmin.upgrade",
      "offset": [
        1728,
        1814
      ],
      "op": "MSTORE",
      "path": "46"
    },
    "564": {
      "op": "PUSH1",
      "value": "0x20"
    },
    "566": {
      "fn": "OwnableProxyAdmin.upgrade",
      "offset": [
        1728,
        1814
      ],
      "op": "PUSH1",
      "path": "46",
      "value": "0x4"
    },
    "568": {
      "fn": "OwnableProxyAdmin.upgrade",
      "offset": [
        1728,
        1814
      ],
      "op": "DUP3",
      "path": "46"
    },
    "569": {
      "fn": "OwnableProxyAdmin.upgrade",
      "offset": [
        1728,
        1814
      ],
      "op": "ADD",
      "path": "46"
    },
    "570": {
      "op": "MSTORE"
    },
    "571": {
      "op": "PUSH1",
      "value": "0x21"
    },
    "573": {
      "op": "PUSH1",
      "value": "0x24"
    },
    "575": {
      "op": "DUP3"
    },
    "576": {
      "op": "ADD"
    },
    "577": {
      "op": "MSTORE"
    },
    "578": {
      "op": "PUSH32",
      "value": "0x4552524F523A5058412D3032313A494D504C454D454E544154494F4E5F5A4552"
    },
    "611": {
      "op": "PUSH1",
      "value": "0x44"
    },
    "613": {
      "op": "DUP3"
    },
    "614": {
      "op": "ADD"
    },
    "615": {
      "op": "MSTORE"
    },
    "616": {
      "op": "PUSH1",
      "value": "0x4F"
    },
    "618": {
      "op": "PUSH1",
      "value": "0xF8"
    },
    "620": {
      "op": "SHL"
    },
    "621": {
      "op": "PUSH1",
      "value": "0x64"
    },
    "623": {
      "op": "DUP3"
    },
    "624": {
      "op": "ADD"
    },
    "625": {
      "op": "MSTORE"
    },
    "626": {
      "op": "PUSH1",
      "value": "0x84"
    },
    "628": {
      "op": "ADD"
    },
    "629": {
      "fn": "OwnableProxyAdmin.upgrade",
      "offset": [
        1728,
        1814
      ],
      "op": "PUSH2",
      "path": "46",
      "value": "0x210"
    },
    "632": {
      "op": "JUMP"
    },
    "633": {
      "fn": "OwnableProxyAdmin.upgrade",
      "offset": [
        1728,
        1814
      ],
      "op": "JUMPDEST",
      "path": "46"
    },
    "634": {
      "fn": "OwnableProxyAdmin.upgrade",
      "offset": [
        1870,
        1885
      ],
      "op": "PUSH1",
      "path": "46",
      "statement": 5,
      "value": "0x1"
    },
    "636": {
      "fn": "OwnableProxyAdmin.upgrade",
      "offset": [
        1870,
        1885
      ],
      "op": "SLOAD",
      "path": "46"
    },
    "637": {
      "op": "PUSH1",
      "value": "0x1"
    },
    "639": {
      "op": "PUSH1",
      "value": "0x1"
    },
    "641": {
      "op": "PUSH1",
      "value": "0xA0"
    },
    "643": {
      "op": "SHL"
    },
    "644": {
      "op": "SUB"
    },
    "645": {
      "fn": "OwnableProxyAdmin.upgrade",
      "offset": [
        1870,
        1885
      ],
      "op": "SWAP1",
      "path": "46"
    },
    "646": {
      "fn": "OwnableProxyAdmin.upgrade",
      "offset": [
        1870,
        1885
      ],
      "op": "DUP2",
      "path": "46"
    },
    "647": {
      "fn": "OwnableProxyAdmin.upgrade",
      "offset": [
        1870,
        1885
      ],
      "op": "AND",
      "path": "46"
    },
    "648": {
      "fn": "OwnableProxyAdmin.upgrade",
      "offset": [
        1832,
        1886
      ],
      "op": "SWAP1",
      "path": "46"
    },
    "649": {
      "fn": "OwnableProxyAdmin.upgrade",
      "offset": [
        1832,
        1886
      ],
      "op": "DUP3",
      "path": "46"
    },
    "650": {
      "fn": "OwnableProxyAdmin.upgrade",
      "offset": [
        1832,
        1886
      ],
      "op": "AND",
      "path": "46"
    },
    "651": {
      "branch": 23,
      "fn": "OwnableProxyAdmin.upgrade",
      "offset": [
        1832,
        1886
      ],
      "op": "SUB",
      "path": "46"
    },
    "652": {
      "fn": "OwnableProxyAdmin.upgrade",
      "offset": [
        1824,
        1927
      ],
      "op": "PUSH2",
      "path": "46",
      "value": "0x2E3"
    },
    "655": {
      "branch": 23,
      "fn": "OwnableProxyAdmin.upgrade",
      "offset": [
        1824,
        1927
      ],
      "op": "JUMPI",
      "path": "46"
    },
    "656": {
      "fn": "OwnableProxyAdmin.upgrade",
      "offset": [
        1824,
        1927
      ],
      "op": "PUSH1",
      "path": "46",
      "value": "0x40"
    },
    "658": {
      "fn": "OwnableProxyAdmin.upgrade",
      "offset": [
        1824,
        1927
      ],
      "op": "MLOAD",
      "path": "46"
    },
    "659": {
      "op": "PUSH3",
      "value": "0x461BCD"
    },
    "663": {
      "op": "PUSH1",
      "value": "0xE5"
    },
    "665": {
      "op": "SHL"
    },
    "666": {
      "fn": "OwnableProxyAdmin.upgrade",
      "offset": [
        1824,
        1927
      ],
      "op": "DUP2",
      "path": "46"
    },
    "667": {
      "fn": "OwnableProxyAdmin.upgrade",
      "offset": [
        1824,
        1927
      ],
      "op": "MSTORE",
      "path": "46"
    },
    "668": {
      "op": "PUSH1",
      "value": "0x20"
    },
    "670": {
      "fn": "OwnableProxyAdmin.upgrade",
      "offset": [
        1824,
        1927
      ],
      "op": "PUSH1",
      "path": "46",
      "value": "0x4"
    },
    "672": {
      "fn": "OwnableProxyAdmin.upgrade",
      "offset": [
        1824,
        1927
      ],
      "op": "DUP3",
      "path": "46"
    },
    "673": {
      "fn": "OwnableProxyAdmin.upgrade",
      "offset": [
        1824,
        1927
      ],
      "op": "ADD",
      "path": "46"
    },
    "674": {
      "op": "MSTORE"
    },
    "675": {
      "op": "PUSH1",
      "value": "0x24"
    },
    "677": {
      "op": "DUP1"
    },
    "678": {
      "op": "DUP3"
    },
    "679": {
      "op": "ADD"
    },
    "680": {
      "op": "MSTORE"
    },
    "681": {
      "op": "PUSH32",
      "value": "0x4552524F523A5058412D3032323A494D504C454D454E544154494F4E5F4E4F54"
    },
    "714": {
      "op": "PUSH1",
      "value": "0x44"
    },
    "716": {
      "op": "DUP3"
    },
    "717": {
      "op": "ADD"
    },
    "718": {
      "op": "MSTORE"
    },
    "719": {
      "op": "PUSH4",
      "value": "0x5F4E4557"
    },
    "724": {
      "op": "PUSH1",
      "value": "0xE0"
    },
    "726": {
      "op": "SHL"
    },
    "727": {
      "op": "PUSH1",
      "value": "0x64"
    },
    "729": {
      "op": "DUP3"
    },
    "730": {
      "op": "ADD"
    },
    "731": {
      "op": "MSTORE"
    },
    "732": {
      "op": "PUSH1",
      "value": "0x84"
    },
    "734": {
      "op": "ADD"
    },
    "735": {
      "fn": "OwnableProxyAdmin.upgrade",
      "offset": [
        1824,
        1927
      ],
      "op": "PUSH2",
      "path": "46",
      "value": "0x210"
    },
    "738": {
      "op": "JUMP"
    },
    "739": {
      "fn": "OwnableProxyAdmin.upgrade",
      "offset": [
        1824,
        1927
      ],
      "op": "JUMPDEST",
      "path": "46"
    },
    "740": {
      "fn": "OwnableProxyAdmin.upgrade",
      "offset": [
        1985,
        2000
      ],
      "op": "PUSH1",
      "path": "46",
      "statement": 6,
      "value": "0x1"
    },
    "742": {
      "fn": "OwnableProxyAdmin.upgrade",
      "offset": [
        1985,
        2020
      ],
      "op": "DUP1",
      "path": "46"
    },
    "743": {
      "fn": "OwnableProxyAdmin.upgrade",
      "offset": [
        1985,
        2020
      ],
      "op": "SLOAD",
      "path": "46"
    },
    "744": {
      "op": "PUSH1",
      "value": "0x1"
    },
    "746": {
      "op": "PUSH1",
      "value": "0x1"
    },
    "748": {
      "op": "PUSH1",
      "value": "0xA0"
    },
    "750": {
      "op": "SHL"
    },
    "751": {
      "op": "SUB"
    },
    "752": {
      "op": "NOT"
    },
    "753": {
      "fn": "OwnableProxyAdmin.upgrade",
      "offset": [
        1985,
        2020
      ],
      "op": "AND",
      "path": "46"
    },
    "754": {
      "op": "PUSH1",
      "value": "0x1"
    },
    "756": {
      "op": "PUSH1",
      "value": "0x1"
    },
    "758": {
      "op": "PUSH1",
      "value": "0xA0"
    },
    "760": {
      "op": "SHL"
    },
    "761": {
      "op": "SUB"
    },
    "762": {
      "fn": "OwnableProxyAdmin.upgrade",
      "offset": [
        1985,
        2020
      ],
      "op": "DUP4",
      "path": "46"
    },
    "763": {
      "fn": "OwnableProxyAdmin.upgrade",
      "offset": [
        1985,
        2020
      ],
      "op": "DUP2",
      "path": "46"
    },
    "764": {
      "fn": "OwnableProxyAdmin.upgrade",
      "offset": [
        1985,
        2020
      ],
      "op": "AND",
      "path": "46"
    },
    "765": {
      "fn": "OwnableProxyAdmin.upgrade",
      "offset": [
        1985,
        2020
      ],
      "op": "SWAP2",
      "path": "46"
    },
    "766": {
      "fn": "OwnableProxyAdmin.upgrade",
      "offset": [
        1985,
        2020
      ],
      "op": "DUP3",
      "path": "46"
    },
    "767": {
      "fn": "OwnableProxyAdmin.upgrade",
      "offset": [
        1985,
        2020
      ],
      "op": "OR",
      "path": "46"
    },
    "768": {
      "fn": "OwnableProxyAdmin.upgrade",
      "offset": [
        1985,
        2020
      ],
      "op": "SWAP1",
      "path": "46"
    },
    "769": {
      "fn": "OwnableProxyAdmin.upgrade",
      "offset": [
        1985,
        2020
      ],
      "op": "SWAP3",
      "path": "46"
    },
    "770": {
      "fn": "OwnableProxyAdmin.upgrade",
      "offset": [
        1985,
        2020
      ],
      "op": "SSTORE",
      "path": "46"
    },
    "771": {
      "fn": "OwnableProxyAdmin.upgrade",
      "offset": [
        2030,
        2036
      ],
      "op": "PUSH1",
      "path": "46",
      "statement": 7,
      "value": "0x2"
    },
    "773": {
      "fn": "OwnableProxyAdmin.upgrade",
      "offset": [
        2030,
        2036
      ],
      "op": "SLOAD",
      "path": "46"
    },
    "774": {
      "fn": "OwnableProxyAdmin.upgrade",
      "offset": [
        2149,
        2167
      ],
      "op": "PUSH1",
      "path": "46",
      "value": "0x40"
    },
    "776": {
      "fn": "OwnableProxyAdmin.upgrade",
      "offset": [
        2149,
        2167
      ],
      "op": "DUP1",
      "path": "46"
    },
    "777": {
      "fn": "OwnableProxyAdmin.upgrade",
      "offset": [
        2149,
        2167
      ],
      "op": "MLOAD",
      "path": "46"
    },
    "778": {
      "fn": "OwnableProxyAdmin.upgrade",
      "offset": [
        2149,
        2167
      ],
      "op": "DUP1",
      "path": "46"
    },
    "779": {
      "fn": "OwnableProxyAdmin.upgrade",
      "offset": [
        2149,
        2167
      ],
      "op": "DUP3",
      "path": "46"
    },
    "780": {
      "fn": "OwnableProxyAdmin.upgrade",
      "offset": [
        2149,
        2167
      ],
      "op": "ADD",
      "path": "46"
    },
    "781": {
      "fn": "OwnableProxyAdmin.upgrade",
      "offset": [
        2149,
        2167
      ],
      "op": "DUP3",
      "path": "46"
    },
    "782": {
      "fn": "OwnableProxyAdmin.upgrade",
      "offset": [
        2149,
        2167
      ],
      "op": "MSTORE",
      "path": "46"
    },
    "783": {
      "fn": "OwnableProxyAdmin.upgrade",
      "offset": [
        2149,
        2167
      ],
      "op": "PUSH1",
      "path": "46",
      "value": "0x19"
    },
    "785": {
      "fn": "OwnableProxyAdmin.upgrade",
      "offset": [
        2149,
        2167
      ],
      "op": "DUP2",
      "path": "46"
    },
    "786": {
      "fn": "OwnableProxyAdmin.upgrade",
      "offset": [
        2149,
        2167
      ],
      "op": "MSTORE",
      "path": "46"
    },
    "787": {
      "op": "PUSH25",
      "value": "0x616374697661746528616464726573732C6164647265737329"
    },
    "813": {
      "op": "PUSH1",
      "value": "0x38"
    },
    "815": {
      "op": "SHL"
    },
    "816": {
      "fn": "OwnableProxyAdmin.upgrade",
      "offset": [
        2149,
        2167
      ],
      "op": "PUSH1",
      "path": "46",
      "value": "0x20"
    },
    "818": {
      "fn": "OwnableProxyAdmin.upgrade",
      "offset": [
        2149,
        2167
      ],
      "op": "DUP3",
      "path": "46"
    },
    "819": {
      "fn": "OwnableProxyAdmin.upgrade",
      "offset": [
        2149,
        2167
      ],
      "op": "ADD",
      "path": "46"
    },
    "820": {
      "fn": "OwnableProxyAdmin.upgrade",
      "offset": [
        2149,
        2167
      ],
      "op": "MSTORE",
      "path": "46"
    },
    "821": {
      "fn": "OwnableProxyAdmin.upgrade",
      "offset": [
        2108,
        2241
      ],
      "op": "SWAP1",
      "path": "46"
    },
    "822": {
      "fn": "OwnableProxyAdmin.upgrade",
      "offset": [
        2108,
        2241
      ],
      "op": "MLOAD",
      "path": "46"
    },
    "823": {
      "fn": "OwnableProxyAdmin.upgrade",
      "offset": [
        2108,
        2241
      ],
      "op": "PUSH1",
      "path": "46",
      "value": "0x24"
    },
    "825": {
      "fn": "OwnableProxyAdmin.upgrade",
      "offset": [
        2108,
        2241
      ],
      "op": "DUP2",
      "path": "46"
    },
    "826": {
      "fn": "OwnableProxyAdmin.upgrade",
      "offset": [
        2108,
        2241
      ],
      "op": "ADD",
      "path": "46"
    },
    "827": {
      "op": "SWAP4"
    },
    "828": {
      "op": "SWAP1"
    },
    "829": {
      "op": "SWAP4"
    },
    "830": {
      "op": "MSTORE"
    },
    "831": {
      "fn": "OwnableProxyAdmin.upgrade",
      "offset": [
        1960,
        1970
      ],
      "op": "CALLER",
      "path": "46"
    },
    "832": {
      "op": "PUSH1",
      "value": "0x44"
    },
    "834": {
      "op": "DUP5"
    },
    "835": {
      "op": "ADD"
    },
    "836": {
      "op": "DUP2"
    },
    "837": {
      "op": "SWAP1"
    },
    "838": {
      "op": "MSTORE"
    },
    "839": {
      "fn": "OwnableProxyAdmin.upgrade",
      "offset": [
        1960,
        1970
      ],
      "op": "SWAP4",
      "path": "46"
    },
    "840": {
      "fn": "OwnableProxyAdmin.upgrade",
      "offset": [
        2030,
        2036
      ],
      "op": "SWAP2",
      "path": "46"
    },
    "841": {
      "fn": "OwnableProxyAdmin.upgrade",
      "offset": [
        2030,
        2036
      ],
      "op": "SWAP1",
      "path": "46"
    },
    "842": {
      "fn": "OwnableProxyAdmin.upgrade",
      "offset": [
        2030,
        2036
      ],
      "op": "SWAP2",
      "path": "46"
    },
    "843": {
      "fn": "OwnableProxyAdmin.upgrade",
      "offset": [
        2030,
        2036
      ],
      "op": "AND",
      "path": "46"
    },
    "844": {
      "fn": "OwnableProxyAdmin.upgrade",
      "offset": [
        2030,
        2036
      ],
      "op": "SWAP2",
      "path": "46"
    },
    "845": {
      "fn": "OwnableProxyAdmin.upgrade",
      "offset": [
        2030,
        2053
      ],
      "op": "PUSH4",
      "path": "46",
      "value": "0x4F1EF286"
    },
    "850": {
      "fn": "OwnableProxyAdmin.upgrade",
      "offset": [
        2030,
        2053
      ],
      "op": "SWAP2",
      "path": "46"
    },
    "851": {
      "fn": "OwnableProxyAdmin.upgrade",
      "offset": [
        1985,
        2020
      ],
      "op": "DUP6",
      "path": "46"
    },
    "852": {
      "fn": "OwnableProxyAdmin.upgrade",
      "offset": [
        1985,
        2020
      ],
      "op": "SWAP2",
      "path": "46"
    },
    "853": {
      "op": "PUSH1",
      "value": "0x64"
    },
    "855": {
      "op": "ADD"
    },
    "856": {
      "fn": "OwnableProxyAdmin.upgrade",
      "offset": [
        2108,
        2241
      ],
      "op": "PUSH1",
      "path": "46",
      "value": "0x40"
    },
    "858": {
      "fn": "OwnableProxyAdmin.upgrade",
      "offset": [
        2108,
        2241
      ],
      "op": "DUP1",
      "path": "46"
    },
    "859": {
      "fn": "OwnableProxyAdmin.upgrade",
      "offset": [
        2108,
        2241
      ],
      "op": "MLOAD",
      "path": "46"
    },
    "860": {
      "op": "PUSH1",
      "value": "0x1F"
    },
    "862": {
      "op": "NOT"
    },
    "863": {
      "fn": "OwnableProxyAdmin.upgrade",
      "offset": [
        2108,
        2241
      ],
      "op": "DUP2",
      "path": "46"
    },
    "864": {
      "fn": "OwnableProxyAdmin.upgrade",
      "offset": [
        2108,
        2241
      ],
      "op": "DUP5",
      "path": "46"
    },
    "865": {
      "fn": "OwnableProxyAdmin.upgrade",
      "offset": [
        2108,
        2241
      ],
      "op": "SUB",
      "path": "46"
    },
    "866": {
      "fn": "OwnableProxyAdmin.upgrade",
      "offset": [
        2108,
        2241
      ],
      "op": "ADD",
      "path": "46"
    },
    "867": {
      "fn": "OwnableProxyAdmin.upgrade",
      "offset": [
        2108,
        2241
      ],
      "op": "DUP2",
      "path": "46"
    },
    "868": {
      "fn": "OwnableProxyAdmin.upgrade",
      "offset": [
        2108,
        2241
      ],
      "op": "MSTORE",
      "path": "46"
    },
    "869": {
      "fn": "OwnableProxyAdmin.upgrade",
      "offset": [
        2108,
        2241
      ],
      "op": "SWAP1",
      "path": "46"
    },
    "870": {
      "fn": "OwnableProxyAdmin.upgrade",
      "offset": [
        2108,
        2241
      ],
      "op": "DUP3",
      "path": "46"
    },
    "871": {
      "fn": "OwnableProxyAdmin.upgrade",
      "offset": [
        2108,
        2241
      ],
      "op": "SWAP1",
      "path": "46"
    },
    "872": {
      "fn": "OwnableProxyAdmin.upgrade",
      "offset": [
        2108,
        2241
      ],
      "op": "MSTORE",
      "path": "46"
    },
    "873": {
      "fn": "OwnableProxyAdmin.upgrade",
      "offset": [
        2108,
        2241
      ],
      "op": "SWAP2",
      "path": "46"
    },
    "874": {
      "fn": "OwnableProxyAdmin.upgrade",
      "offset": [
        2108,
        2241
      ],
      "op": "PUSH2",
      "path": "46",
      "value": "0x372"
    },
    "877": {
      "fn": "OwnableProxyAdmin.upgrade",
      "offset": [
        2108,
        2241
      ],
      "op": "SWAP2",
      "path": "46"
    },
    "878": {
      "fn": "OwnableProxyAdmin.upgrade",
      "offset": [
        2108,
        2241
      ],
      "op": "PUSH2",
      "path": "46",
      "value": "0x942"
    },
    "881": {
      "fn": "OwnableProxyAdmin.upgrade",
      "jump": "i",
      "offset": [
        2108,
        2241
      ],
      "op": "JUMP",
      "path": "46"
    },
    "882": {
      "fn": "OwnableProxyAdmin.upgrade",
      "offset": [
        2108,
        2241
      ],
      "op": "JUMPDEST",
      "path": "46"
    },
    "883": {
      "fn": "OwnableProxyAdmin.upgrade",
      "offset": [
        2108,
        2241
      ],
      "op": "PUSH1",
      "path": "46",
      "value": "0x40"
    },
    "885": {
      "fn": "OwnableProxyAdmin.upgrade",
      "offset": [
        2108,
        2241
      ],
      "op": "DUP1",
      "path": "46"
    },
    "886": {
      "fn": "OwnableProxyAdmin.upgrade",
      "offset": [
        2108,
        2241
      ],
      "op": "MLOAD",
      "path": "46"
    },
    "887": {
      "fn": "OwnableProxyAdmin.upgrade",
      "offset": [
        2108,
        2241
      ],
      "op": "SWAP2",
      "path": "46"
    },
    "888": {
      "fn": "OwnableProxyAdmin.upgrade",
      "offset": [
        2108,
        2241
      ],
      "op": "DUP3",
      "path": "46"
    },
    "889": {
      "fn": "OwnableProxyAdmin.upgrade",
      "offset": [
        2108,
        2241
      ],
      "op": "SWAP1",
      "path": "46"
    },
    "890": {
      "fn": "OwnableProxyAdmin.upgrade",
      "offset": [
        2108,
        2241
      ],
      "op": "SUB",
      "path": "46"
    },
    "891": {
      "fn": "OwnableProxyAdmin.upgrade",
      "offset": [
        2108,
        2241
      ],
      "op": "SWAP1",
      "path": "46"
    },
    "892": {
      "fn": "OwnableProxyAdmin.upgrade",
      "offset": [
        2108,
        2241
      ],
      "op": "SWAP2",
      "path": "46"
    },
    "893": {
      "fn": "OwnableProxyAdmin.upgrade",
      "offset": [
        2108,
        2241
      ],
      "op": "KECCAK256",
      "path": "46"
    },
    "894": {
      "fn": "OwnableProxyAdmin.upgrade",
      "offset": [
        2108,
        2241
      ],
      "op": "PUSH1",
      "path": "46",
      "value": "0x20"
    },
    "896": {
      "fn": "OwnableProxyAdmin.upgrade",
      "offset": [
        2108,
        2241
      ],
      "op": "DUP4",
      "path": "46"
    },
    "897": {
      "fn": "OwnableProxyAdmin.upgrade",
      "offset": [
        2108,
        2241
      ],
      "op": "ADD",
      "path": "46"
    },
    "898": {
      "fn": "OwnableProxyAdmin.upgrade",
      "offset": [
        2108,
        2241
      ],
      "op": "DUP1",
      "path": "46"
    },
    "899": {
      "fn": "OwnableProxyAdmin.upgrade",
      "offset": [
        2108,
        2241
      ],
      "op": "MLOAD",
      "path": "46"
    },
    "900": {
      "op": "PUSH1",
      "value": "0x1"
    },
    "902": {
      "op": "PUSH1",
      "value": "0x1"
    },
    "904": {
      "op": "PUSH1",
      "value": "0xE0"
    },
    "906": {
      "op": "SHL"
    },
    "907": {
      "op": "SUB"
    },
    "908": {
      "fn": "OwnableProxyAdmin.upgrade",
      "offset": [
        2108,
        2241
      ],
      "op": "AND",
      "path": "46"
    },
    "909": {
      "op": "PUSH1",
      "value": "0x1"
    },
    "911": {
      "op": "PUSH1",
      "value": "0x1"
    },
    "913": {
      "op": "PUSH1",
      "value": "0xE0"
    },
    "915": {
      "op": "SHL"
    },
    "916": {
      "op": "SUB"
    },
    "917": {
      "op": "NOT"
    },
    "918": {
      "fn": "OwnableProxyAdmin.upgrade",
      "offset": [
        2108,
        2241
      ],
      "op": "SWAP3",
      "path": "46"
    },
    "919": {
      "fn": "OwnableProxyAdmin.upgrade",
      "offset": [
        2108,
        2241
      ],
      "op": "DUP4",
      "path": "46"
    },
    "920": {
      "fn": "OwnableProxyAdmin.upgrade",
      "offset": [
        2108,
        2241
      ],
      "op": "AND",
      "path": "46"
    },
    "921": {
      "fn": "OwnableProxyAdmin.upgrade",
      "offset": [
        2108,
        2241
      ],
      "op": "OR",
      "path": "46"
    },
    "922": {
      "fn": "OwnableProxyAdmin.upgrade",
      "offset": [
        2108,
        2241
      ],
      "op": "SWAP1",
      "path": "46"
    },
    "923": {
      "fn": "OwnableProxyAdmin.upgrade",
      "offset": [
        2108,
        2241
      ],
      "op": "MSTORE",
      "path": "46"
    },
    "924": {
      "fn": "OwnableProxyAdmin.upgrade",
      "offset": [
        2030,
        2251
      ],
      "op": "SWAP1",
      "path": "46"
    },
    "925": {
      "fn": "OwnableProxyAdmin.upgrade",
      "offset": [
        2030,
        2251
      ],
      "op": "MLOAD",
      "path": "46"
    },
    "926": {
      "fn": "OwnableProxyAdmin.upgrade",
      "offset": [
        2030,
        2251
      ],
      "op": "PUSH1",
      "path": "46",
      "value": "0xE0"
    },
    "928": {
      "fn": "OwnableProxyAdmin.upgrade",
      "offset": [
        2030,
        2251
      ],
      "op": "DUP6",
      "path": "46"
    },
    "929": {
      "fn": "OwnableProxyAdmin.upgrade",
      "offset": [
        2030,
        2251
      ],
      "op": "SWAP1",
      "path": "46"
    },
    "930": {
      "fn": "OwnableProxyAdmin.upgrade",
      "offset": [
        2030,
        2251
      ],
      "op": "SHL",
      "path": "46"
    },
    "931": {
      "fn": "OwnableProxyAdmin.upgrade",
      "offset": [
        2030,
        2251
      ],
      "op": "SWAP1",
      "path": "46"
    },
    "932": {
      "fn": "OwnableProxyAdmin.upgrade",
      "offset": [
        2030,
        2251
      ],
      "op": "SWAP2",
      "path": "46"
    },
    "933": {
      "fn": "OwnableProxyAdmin.upgrade",
      "offset": [
        2030,
        2251
      ],
      "op": "AND",
      "path": "46"
    },
    "934": {
      "fn": "OwnableProxyAdmin.upgrade",
      "offset": [
        2030,
        2251
      ],
      "op": "DUP2",
      "path": "46"
    },
    "935": {
      "fn": "OwnableProxyAdmin.upgrade",
      "offset": [
        2030,
        2251
      ],
      "op": "MSTORE",
      "path": "46"
    },
    "936": {
      "fn": "OwnableProxyAdmin.upgrade",
      "offset": [
        2030,
        2251
      ],
      "op": "PUSH2",
      "path": "46",
      "value": "0x3B5"
    },
    "939": {
      "fn": "OwnableProxyAdmin.upgrade",
      "offset": [
        2030,
        2251
      ],
      "op": "SWAP3",
      "path": "46"
    },
    "940": {
      "fn": "OwnableProxyAdmin.upgrade",
      "offset": [
        2030,
        2251
      ],
      "op": "SWAP2",
      "path": "46"
    },
    "941": {
      "fn": "OwnableProxyAdmin.upgrade",
      "offset": [
        2108,
        2241
      ],
      "op": "SWAP1",
      "path": "46"
    },
    "942": {
      "fn": "OwnableProxyAdmin.upgrade",
      "offset": [
        2030,
        2251
      ],
      "op": "PUSH1",
      "path": "46",
      "value": "0x4"
    },
    "944": {
      "fn": "OwnableProxyAdmin.upgrade",
      "offset": [
        2030,
        2251
      ],
      "op": "ADD",
      "path": "46"
    },
    "945": {
      "fn": "OwnableProxyAdmin.upgrade",
      "offset": [
        2030,
        2251
      ],
      "op": "PUSH2",
      "path": "46",
      "value": "0x95E"
    },
    "948": {
      "fn": "OwnableProxyAdmin.upgrade",
      "jump": "i",
      "offset": [
        2030,
        2251
      ],
      "op": "JUMP",
      "path": "46"
    },
    "949": {
      "fn": "OwnableProxyAdmin.upgrade",
      "offset": [
        2030,
        2251
      ],
      "op": "JUMPDEST",
      "path": "46"
    },
    "950": {
      "fn": "OwnableProxyAdmin.upgrade",
      "offset": [
        2030,
        2251
      ],
      "op": "PUSH1",
      "path": "46",
      "value": "0x0"
    },
    "952": {
      "fn": "OwnableProxyAdmin.upgrade",
      "offset": [
        2030,
        2251
      ],
      "op": "PUSH1",
      "path": "46",
      "value": "0x40"
    },
    "954": {
      "fn": "OwnableProxyAdmin.upgrade",
      "offset": [
        2030,
        2251
      ],
      "op": "MLOAD",
      "path": "46"
    },
    "955": {
      "fn": "OwnableProxyAdmin.upgrade",
      "offset": [
        2030,
        2251
      ],
      "op": "DUP1",
      "path": "46"
    },
    "956": {
      "fn": "OwnableProxyAdmin.upgrade",
      "offset": [
        2030,
        2251
      ],
      "op": "DUP4",
      "path": "46"
    },
    "957": {
      "fn": "OwnableProxyAdmin.upgrade",
      "offset": [
        2030,
        2251
      ],
      "op": "SUB",
      "path": "46"
    },
    "958": {
      "fn": "OwnableProxyAdmin.upgrade",
      "offset": [
        2030,
        2251
      ],
      "op": "DUP2",
      "path": "46"
    },
    "959": {
      "fn": "OwnableProxyAdmin.upgrade",
      "offset": [
        2030,
        2251
      ],
      "op": "PUSH1",
      "path": "46",
      "value": "0x0"
    },
    "961": {
      "fn": "OwnableProxyAdmin.upgrade",
      "offset": [
        2030,
        2251
      ],
      "op": "DUP8",
      "path": "46"
    },
    "962": {
      "fn": "OwnableProxyAdmin.upgrade",
      "offset": [
        2030,
        2251
      ],
      "op": "DUP1",
      "path": "46"
    },
    "963": {
      "fn": "OwnableProxyAdmin.upgrade",
      "offset": [
        2030,
        2251
      ],
      "op": "EXTCODESIZE",
      "path": "46"
    },
    "964": {
      "fn": "OwnableProxyAdmin.upgrade",
      "offset": [
        2030,
        2251
      ],
      "op": "ISZERO",
      "path": "46"
    },
    "965": {
      "fn": "OwnableProxyAdmin.upgrade",
      "offset": [
        2030,
        2251
      ],
      "op": "DUP1",
      "path": "46"
    },
    "966": {
      "fn": "OwnableProxyAdmin.upgrade",
      "offset": [
        2030,
        2251
      ],
      "op": "ISZERO",
      "path": "46"
    },
    "967": {
      "fn": "OwnableProxyAdmin.upgrade",
      "offset": [
        2030,
        2251
      ],
      "op": "PUSH2",
      "path": "46",
      "value": "0x3CF"
    },
    "970": {
      "fn": "OwnableProxyAdmin.upgrade",
      "offset": [
        2030,
        2251
      ],
      "op": "JUMPI",
      "path": "46"
    },
    "971": {
      "fn": "OwnableProxyAdmin.upgrade",
      "offset": [
        2030,
        2251
      ],
      "op": "PUSH1",
      "path": "46",
      "value": "0x0"
    },
    "973": {
      "fn": "OwnableProxyAdmin.upgrade",
      "offset": [
        2030,
        2251
      ],
      "op": "DUP1",
      "path": "46"
    },
    "974": {
      "fn": "OwnableProxyAdmin.upgrade",
      "offset": [
        2030,
        2251
      ],
      "op": "REVERT",
      "path": "46"
    },
    "975": {
      "fn": "OwnableProxyAdmin.upgrade",
      "offset": [
        2030,
        2251
      ],
      "op": "JUMPDEST",
      "path": "46"
    },
    "976": {
      "fn": "OwnableProxyAdmin.upgrade",
      "offset": [
        2030,
        2251
      ],
      "op": "POP",
      "path": "46"
    },
    "977": {
      "fn": "OwnableProxyAdmin.upgrade",
      "offset": [
        2030,
        2251
      ],
      "op": "GAS",
      "path": "46"
    },
    "978": {
      "fn": "OwnableProxyAdmin.upgrade",
      "offset": [
        2030,
        2251
      ],
      "op": "CALL",
      "path": "46"
    },
    "979": {
      "fn": "OwnableProxyAdmin.upgrade",
      "offset": [
        2030,
        2251
      ],
      "op": "ISZERO",
      "path": "46"
    },
    "980": {
      "fn": "OwnableProxyAdmin.upgrade",
      "offset": [
        2030,
        2251
      ],
      "op": "DUP1",
      "path": "46"
    },
    "981": {
      "fn": "OwnableProxyAdmin.upgrade",
      "offset": [
        2030,
        2251
      ],
      "op": "ISZERO",
      "path": "46"
    },
    "982": {
      "fn": "OwnableProxyAdmin.upgrade",
      "offset": [
        2030,
        2251
      ],
      "op": "PUSH2",
      "path": "46",
      "value": "0x3E3"
    },
    "985": {
      "fn": "OwnableProxyAdmin.upgrade",
      "offset": [
        2030,
        2251
      ],
      "op": "JUMPI",
      "path": "46"
    },
    "986": {
      "fn": "OwnableProxyAdmin.upgrade",
      "offset": [
        2030,
        2251
      ],
      "op": "RETURNDATASIZE",
      "path": "46"
    },
    "987": {
      "fn": "OwnableProxyAdmin.upgrade",
      "offset": [
        2030,
        2251
      ],
      "op": "PUSH1",
      "path": "46",
      "value": "0x0"
    },
    "989": {
      "fn": "OwnableProxyAdmin.upgrade",
      "offset": [
        2030,
        2251
      ],
      "op": "DUP1",
      "path": "46"
    },
    "990": {
      "fn": "OwnableProxyAdmin.upgrade",
      "offset": [
        2030,
        2251
      ],
      "op": "RETURNDATACOPY",
      "path": "46"
    },
    "991": {
      "fn": "OwnableProxyAdmin.upgrade",
      "offset": [
        2030,
        2251
      ],
      "op": "RETURNDATASIZE",
      "path": "46"
    },
    "992": {
      "fn": "OwnableProxyAdmin.upgrade",
      "offset": [
        2030,
        2251
      ],
      "op": "PUSH1",
      "path": "46",
      "value": "0x0"
    },
    "994": {
      "fn": "OwnableProxyAdmin.upgrade",
      "offset": [
        2030,
        2251
      ],
      "op": "REVERT",
      "path": "46"
    },
    "995": {
      "fn": "OwnableProxyAdmin.upgrade",
      "offset": [
        2030,
        2251
      ],
      "op": "JUMPDEST",
      "path": "46"
    },
    "996": {
      "fn": "OwnableProxyAdmin.upgrade",
      "offset": [
        2030,
        2251
      ],
      "op": "POP",
      "path": "46"
    },
    "997": {
      "fn": "OwnableProxyAdmin.upgrade",
      "offset": [
        2030,
        2251
      ],
      "op": "POP",
      "path": "46"
    },
    "998": {
      "fn": "OwnableProxyAdmin.upgrade",
      "offset": [
        2030,
        2251
      ],
      "op": "POP",
      "path": "46"
    },
    "999": {
      "fn": "OwnableProxyAdmin.upgrade",
      "offset": [
        2030,
        2251
      ],
      "op": "POP",
      "path": "46"
    },
    "1000": {
      "fn": "OwnableProxyAdmin.upgrade",
      "offset": [
        1639,
        2258
      ],
      "op": "POP",
      "path": "46"
    },
    "1001": {
      "fn": "OwnableProxyAdmin.upgrade",
      "offset": [
        1546,
        2258
      ],
      "op": "POP",
      "path": "46"
    },
    "1002": {
      "fn": "OwnableProxyAdmin.upgrade",
      "jump": "o",
      "offset": [
        1546,
        2258
      ],
      "op": "JUMP",
      "path": "46"
    },
    "1003": {
      "fn": "Ownable.renounceOwnership",
      "offset": [
        1831,
        1932
      ],
      "op": "JUMPDEST",
      "path": "6"
    },
    "1004": {
      "offset": [
        1094,
        1107
      ],
      "op": "PUSH2",
      "path": "6",
      "value": "0x3F3"
    },
    "1007": {
      "offset": [
        1094,
        1105
      ],
      "op": "PUSH2",
      "path": "6",
      "value": "0x7B1"
    },
    "1010": {
      "jump": "i",
      "offset": [
        1094,
        1107
      ],
      "op": "JUMP",
      "path": "6"
    },
    "1011": {
      "fn": "Ownable.renounceOwnership",
      "offset": [
        1094,
        1107
      ],
      "op": "JUMPDEST",
      "path": "6"
    },
    "1012": {
      "fn": "Ownable.renounceOwnership",
      "offset": [
        1895,
        1925
      ],
      "op": "PUSH2",
      "path": "6",
      "statement": 8,
      "value": "0x3FD"
    },
    "1015": {
      "fn": "Ownable.renounceOwnership",
      "offset": [
        1922,
        1923
      ],
      "op": "PUSH1",
      "path": "6",
      "value": "0x0"
    },
    "1017": {
      "fn": "Ownable.renounceOwnership",
      "offset": [
        1895,
        1913
      ],
      "op": "PUSH2",
      "path": "6",
      "value": "0x80B"
    },
    "1020": {
      "fn": "Ownable.renounceOwnership",
      "jump": "i",
      "offset": [
        1895,
        1925
      ],
      "op": "JUMP",
      "path": "6"
    },
    "1021": {
      "fn": "Ownable.renounceOwnership",
      "offset": [
        1895,
        1925
      ],
      "op": "JUMPDEST",
      "path": "6"
    },
    "1022": {
      "fn": "Ownable.renounceOwnership",
      "jump": "o",
      "offset": [
        1831,
        1932
      ],
      "op": "JUMP",
      "path": "6"
    },
    "1023": {
      "fn": "OwnableProxyAdmin.transferAdmin",
      "offset": [
        2265,
        2586
      ],
      "op": "JUMPDEST",
      "path": "46"
    },
    "1024": {
      "offset": [
        1094,
        1107
      ],
      "op": "PUSH2",
      "path": "6",
      "value": "0x407"
    },
    "1027": {
      "offset": [
        1094,
        1105
      ],
      "op": "PUSH2",
      "path": "6",
      "value": "0x7B1"
    },
    "1030": {
      "jump": "i",
      "offset": [
        1094,
        1107
      ],
      "op": "JUMP",
      "path": "6"
    },
    "1031": {
      "fn": "OwnableProxyAdmin.transferAdmin",
      "offset": [
        1094,
        1107
      ],
      "op": "JUMPDEST",
      "path": "6"
    },
    "1032": {
      "op": "PUSH1",
      "value": "0x1"
    },
    "1034": {
      "op": "PUSH1",
      "value": "0x1"
    },
    "1036": {
      "op": "PUSH1",
      "value": "0xA0"
    },
    "1038": {
      "op": "SHL"
    },
    "1039": {
      "op": "SUB"
    },
    "1040": {
      "fn": "OwnableProxyAdmin.transferAdmin",
      "offset": [
        2363,
        2385
      ],
      "op": "DUP2",
      "path": "46",
      "statement": 9
    },
    "1041": {
      "branch": 24,
      "fn": "OwnableProxyAdmin.transferAdmin",
      "offset": [
        2363,
        2385
      ],
      "op": "AND",
      "path": "46"
    },
    "1042": {
      "fn": "OwnableProxyAdmin.transferAdmin",
      "offset": [
        2355,
        2420
      ],
      "op": "PUSH2",
      "path": "46",
      "value": "0x45D"
    },
    "1045": {
      "branch": 24,
      "fn": "OwnableProxyAdmin.transferAdmin",
      "offset": [
        2355,
        2420
      ],
      "op": "JUMPI",
      "path": "46"
    },
    "1046": {
      "fn": "OwnableProxyAdmin.transferAdmin",
      "offset": [
        2355,
        2420
      ],
      "op": "PUSH1",
      "path": "46",
      "value": "0x40"
    },
    "1048": {
      "fn": "OwnableProxyAdmin.transferAdmin",
      "offset": [
        2355,
        2420
      ],
      "op": "MLOAD",
      "path": "46"
    },
    "1049": {
      "op": "PUSH3",
      "value": "0x461BCD"
    },
    "1053": {
      "op": "PUSH1",
      "value": "0xE5"
    },
    "1055": {
      "op": "SHL"
    },
    "1056": {
      "fn": "OwnableProxyAdmin.transferAdmin",
      "offset": [
        2355,
        2420
      ],
      "op": "DUP2",
      "path": "46"
    },
    "1057": {
      "fn": "OwnableProxyAdmin.transferAdmin",
      "offset": [
        2355,
        2420
      ],
      "op": "MSTORE",
      "path": "46"
    },
    "1058": {
      "op": "PUSH1",
      "value": "0x20"
    },
    "1060": {
      "fn": "OwnableProxyAdmin.transferAdmin",
      "offset": [
        2355,
        2420
      ],
      "op": "PUSH1",
      "path": "46",
      "value": "0x4"
    },
    "1062": {
      "fn": "OwnableProxyAdmin.transferAdmin",
      "offset": [
        2355,
        2420
      ],
      "op": "DUP3",
      "path": "46"
    },
    "1063": {
      "fn": "OwnableProxyAdmin.transferAdmin",
      "offset": [
        2355,
        2420
      ],
      "op": "ADD",
      "path": "46"
    },
    "1064": {
      "op": "MSTORE"
    },
    "1065": {
      "op": "PUSH1",
      "value": "0x1E"
    },
    "1067": {
      "op": "PUSH1",
      "value": "0x24"
    },
    "1069": {
      "op": "DUP3"
    },
    "1070": {
      "op": "ADD"
    },
    "1071": {
      "op": "MSTORE"
    },
    "1072": {
      "op": "PUSH32",
      "value": "0x4552524F523A5058412D3033303A50524F58595F41444D494E5F5A45524F0000"
    },
    "1105": {
      "op": "PUSH1",
      "value": "0x44"
    },
    "1107": {
      "op": "DUP3"
    },
    "1108": {
      "op": "ADD"
    },
    "1109": {
      "op": "MSTORE"
    },
    "1110": {
      "op": "PUSH1",
      "value": "0x64"
    },
    "1112": {
      "op": "ADD"
    },
    "1113": {
      "fn": "OwnableProxyAdmin.transferAdmin",
      "offset": [
        2355,
        2420
      ],
      "op": "PUSH2",
      "path": "46",
      "value": "0x210"
    },
    "1116": {
      "op": "JUMP"
    },
    "1117": {
      "fn": "OwnableProxyAdmin.transferAdmin",
      "offset": [
        2355,
        2420
      ],
      "op": "JUMPDEST",
      "path": "46"
    },
    "1118": {
      "fn": "OwnableProxyAdmin.transferAdmin",
      "offset": [
        2458,
        2473
      ],
      "op": "PUSH1",
      "path": "46",
      "statement": 10,
      "value": "0x1"
    },
    "1120": {
      "fn": "OwnableProxyAdmin.transferAdmin",
      "offset": [
        2458,
        2473
      ],
      "op": "PUSH1",
      "path": "46",
      "value": "0x0"
    },
    "1122": {
      "fn": "OwnableProxyAdmin.transferAdmin",
      "offset": [
        2458,
        2473
      ],
      "op": "SWAP1",
      "path": "46"
    },
    "1123": {
      "fn": "OwnableProxyAdmin.transferAdmin",
      "offset": [
        2458,
        2473
      ],
      "op": "SLOAD",
      "path": "46"
    },
    "1124": {
      "fn": "OwnableProxyAdmin.transferAdmin",
      "offset": [
        2458,
        2473
      ],
      "op": "SWAP1",
      "path": "46"
    },
    "1125": {
      "fn": "OwnableProxyAdmin.transferAdmin",
      "offset": [
        2458,
        2473
      ],
      "op": "PUSH2",
      "path": "46",
      "value": "0x100"
    },
    "1128": {
      "fn": "OwnableProxyAdmin.transferAdmin",
      "offset": [
        2458,
        2473
      ],
      "op": "EXP",
      "path": "46"
    },
    "1129": {
      "fn": "OwnableProxyAdmin.transferAdmin",
      "offset": [
        2458,
        2473
      ],
      "op": "SWAP1",
      "path": "46"
    },
    "1130": {
      "fn": "OwnableProxyAdmin.transferAdmin",
      "offset": [
        2458,
        2473
      ],
      "op": "DIV",
      "path": "46"
    },
    "1131": {
      "op": "PUSH1",
      "value": "0x1"
    },
    "1133": {
      "op": "PUSH1",
      "value": "0x1"
    },
    "1135": {
      "op": "PUSH1",
      "value": "0xA0"
    },
    "1137": {
      "op": "SHL"
    },
    "1138": {
      "op": "SUB"
    },
    "1139": {
      "fn": "OwnableProxyAdmin.transferAdmin",
      "offset": [
        2458,
        2473
      ],
      "op": "AND",
      "path": "46"
    },
    "1140": {
      "op": "PUSH1",
      "value": "0x1"
    },
    "1142": {
      "op": "PUSH1",
      "value": "0x1"
    },
    "1144": {
      "op": "PUSH1",
      "value": "0xA0"
    },
    "1146": {
      "op": "SHL"
    },
    "1147": {
      "op": "SUB"
    },
    "1148": {
      "fn": "OwnableProxyAdmin.transferAdmin",
      "offset": [
        2458,
        2479
      ],
      "op": "AND",
      "path": "46"
    },
    "1149": {
      "fn": "OwnableProxyAdmin.transferAdmin",
      "offset": [
        2458,
        2479
      ],
      "op": "PUSH4",
      "path": "46",
      "value": "0x8DA5CB5B"
    },
    "1154": {
      "fn": "OwnableProxyAdmin.transferAdmin",
      "offset": [
        2458,
        2481
      ],
      "op": "PUSH1",
      "path": "46",
      "value": "0x40"
    },
    "1156": {
      "fn": "OwnableProxyAdmin.transferAdmin",
      "offset": [
        2458,
        2481
      ],
      "op": "MLOAD",
      "path": "46"
    },
    "1157": {
      "fn": "OwnableProxyAdmin.transferAdmin",
      "offset": [
        2458,
        2481
      ],
      "op": "DUP2",
      "path": "46"
    },
    "1158": {
      "fn": "OwnableProxyAdmin.transferAdmin",
      "offset": [
        2458,
        2481
      ],
      "op": "PUSH4",
      "path": "46",
      "value": "0xFFFFFFFF"
    },
    "1163": {
      "fn": "OwnableProxyAdmin.transferAdmin",
      "offset": [
        2458,
        2481
      ],
      "op": "AND",
      "path": "46"
    },
    "1164": {
      "fn": "OwnableProxyAdmin.transferAdmin",
      "offset": [
        2458,
        2481
      ],
      "op": "PUSH1",
      "path": "46",
      "value": "0xE0"
    },
    "1166": {
      "fn": "OwnableProxyAdmin.transferAdmin",
      "offset": [
        2458,
        2481
      ],
      "op": "SHL",
      "path": "46"
    },
    "1167": {
      "fn": "OwnableProxyAdmin.transferAdmin",
      "offset": [
        2458,
        2481
      ],
      "op": "DUP2",
      "path": "46"
    },
    "1168": {
      "fn": "OwnableProxyAdmin.transferAdmin",
      "offset": [
        2458,
        2481
      ],
      "op": "MSTORE",
      "path": "46"
    },
    "1169": {
      "fn": "OwnableProxyAdmin.transferAdmin",
      "offset": [
        2458,
        2481
      ],
      "op": "PUSH1",
      "path": "46",
      "value": "0x4"
    },
    "1171": {
      "fn": "OwnableProxyAdmin.transferAdmin",
      "offset": [
        2458,
        2481
      ],
      "op": "ADD",
      "path": "46"
    },
    "1172": {
      "fn": "OwnableProxyAdmin.transferAdmin",
      "offset": [
        2458,
        2481
      ],
      "op": "PUSH1",
      "path": "46",
      "value": "0x20"
    },
    "1174": {
      "fn": "OwnableProxyAdmin.transferAdmin",
      "offset": [
        2458,
        2481
      ],
      "op": "PUSH1",
      "path": "46",
      "value": "0x40"
    },
    "1176": {
      "fn": "OwnableProxyAdmin.transferAdmin",
      "offset": [
        2458,
        2481
      ],
      "op": "MLOAD",
      "path": "46"
    },
    "1177": {
      "fn": "OwnableProxyAdmin.transferAdmin",
      "offset": [
        2458,
        2481
      ],
      "op": "DUP1",
      "path": "46"
    },
    "1178": {
      "fn": "OwnableProxyAdmin.transferAdmin",
      "offset": [
        2458,
        2481
      ],
      "op": "DUP4",
      "path": "46"
    },
    "1179": {
      "fn": "OwnableProxyAdmin.transferAdmin",
      "offset": [
        2458,
        2481
      ],
      "op": "SUB",
      "path": "46"
    },
    "1180": {
      "fn": "OwnableProxyAdmin.transferAdmin",
      "offset": [
        2458,
        2481
      ],
      "op": "DUP2",
      "path": "46"
    },
    "1181": {
      "fn": "OwnableProxyAdmin.transferAdmin",
      "offset": [
        2458,
        2481
      ],
      "op": "DUP7",
      "path": "46"
    },
    "1182": {
      "fn": "OwnableProxyAdmin.transferAdmin",
      "offset": [
        2458,
        2481
      ],
      "op": "GAS",
      "path": "46"
    },
    "1183": {
      "fn": "OwnableProxyAdmin.transferAdmin",
      "offset": [
        2458,
        2481
      ],
      "op": "STATICCALL",
      "path": "46"
    },
    "1184": {
      "fn": "OwnableProxyAdmin.transferAdmin",
      "offset": [
        2458,
        2481
      ],
      "op": "ISZERO",
      "path": "46"
    },
    "1185": {
      "fn": "OwnableProxyAdmin.transferAdmin",
      "offset": [
        2458,
        2481
      ],
      "op": "DUP1",
      "path": "46"
    },
    "1186": {
      "fn": "OwnableProxyAdmin.transferAdmin",
      "offset": [
        2458,
        2481
      ],
      "op": "ISZERO",
      "path": "46"
    },
    "1187": {
      "fn": "OwnableProxyAdmin.transferAdmin",
      "offset": [
        2458,
        2481
      ],
      "op": "PUSH2",
      "path": "46",
      "value": "0x4B0"
    },
    "1190": {
      "fn": "OwnableProxyAdmin.transferAdmin",
      "offset": [
        2458,
        2481
      ],
      "op": "JUMPI",
      "path": "46"
    },
    "1191": {
      "fn": "OwnableProxyAdmin.transferAdmin",
      "offset": [
        2458,
        2481
      ],
      "op": "RETURNDATASIZE",
      "path": "46"
    },
    "1192": {
      "fn": "OwnableProxyAdmin.transferAdmin",
      "offset": [
        2458,
        2481
      ],
      "op": "PUSH1",
      "path": "46",
      "value": "0x0"
    },
    "1194": {
      "fn": "OwnableProxyAdmin.transferAdmin",
      "offset": [
        2458,
        2481
      ],
      "op": "DUP1",
      "path": "46"
    },
    "1195": {
      "fn": "OwnableProxyAdmin.transferAdmin",
      "offset": [
        2458,
        2481
      ],
      "op": "RETURNDATACOPY",
      "path": "46"
    },
    "1196": {
      "fn": "OwnableProxyAdmin.transferAdmin",
      "offset": [
        2458,
        2481
      ],
      "op": "RETURNDATASIZE",
      "path": "46"
    },
    "1197": {
      "fn": "OwnableProxyAdmin.transferAdmin",
      "offset": [
        2458,
        2481
      ],
      "op": "PUSH1",
      "path": "46",
      "value": "0x0"
    },
    "1199": {
      "fn": "OwnableProxyAdmin.transferAdmin",
      "offset": [
        2458,
        2481
      ],
      "op": "REVERT",
      "path": "46"
    },
    "1200": {
      "fn": "OwnableProxyAdmin.transferAdmin",
      "offset": [
        2458,
        2481
      ],
      "op": "JUMPDEST",
      "path": "46"
    },
    "1201": {
      "fn": "OwnableProxyAdmin.transferAdmin",
      "offset": [
        2458,
        2481
      ],
      "op": "POP",
      "path": "46"
    },
    "1202": {
      "fn": "OwnableProxyAdmin.transferAdmin",
      "offset": [
        2458,
        2481
      ],
      "op": "POP",
      "path": "46"
    },
    "1203": {
      "fn": "OwnableProxyAdmin.transferAdmin",
      "offset": [
        2458,
        2481
      ],
      "op": "POP",
      "path": "46"
    },
    "1204": {
      "fn": "OwnableProxyAdmin.transferAdmin",
      "offset": [
        2458,
        2481
      ],
      "op": "POP",
      "path": "46"
    },
    "1205": {
      "fn": "OwnableProxyAdmin.transferAdmin",
      "offset": [
        2458,
        2481
      ],
      "op": "PUSH1",
      "path": "46",
      "value": "0x40"
    },
    "1207": {
      "fn": "OwnableProxyAdmin.transferAdmin",
      "offset": [
        2458,
        2481
      ],
      "op": "MLOAD",
      "path": "46"
    },
    "1208": {
      "fn": "OwnableProxyAdmin.transferAdmin",
      "offset": [
        2458,
        2481
      ],
      "op": "RETURNDATASIZE",
      "path": "46"
    },
    "1209": {
      "fn": "OwnableProxyAdmin.transferAdmin",
      "offset": [
        2458,
        2481
      ],
      "op": "PUSH1",
      "path": "46",
      "value": "0x1F"
    },
    "1211": {
      "fn": "OwnableProxyAdmin.transferAdmin",
      "offset": [
        2458,
        2481
      ],
      "op": "NOT",
      "path": "46"
    },
    "1212": {
      "fn": "OwnableProxyAdmin.transferAdmin",
      "offset": [
        2458,
        2481
      ],
      "op": "PUSH1",
      "path": "46",
      "value": "0x1F"
    },
    "1214": {
      "fn": "OwnableProxyAdmin.transferAdmin",
      "offset": [
        2458,
        2481
      ],
      "op": "DUP3",
      "path": "46"
    },
    "1215": {
      "fn": "OwnableProxyAdmin.transferAdmin",
      "offset": [
        2458,
        2481
      ],
      "op": "ADD",
      "path": "46"
    },
    "1216": {
      "fn": "OwnableProxyAdmin.transferAdmin",
      "offset": [
        2458,
        2481
      ],
      "op": "AND",
      "path": "46"
    },
    "1217": {
      "fn": "OwnableProxyAdmin.transferAdmin",
      "offset": [
        2458,
        2481
      ],
      "op": "DUP3",
      "path": "46"
    },
    "1218": {
      "fn": "OwnableProxyAdmin.transferAdmin",
      "offset": [
        2458,
        2481
      ],
      "op": "ADD",
      "path": "46"
    },
    "1219": {
      "fn": "OwnableProxyAdmin.transferAdmin",
      "offset": [
        2458,
        2481
      ],
      "op": "DUP1",
      "path": "46"
    },
    "1220": {
      "fn": "OwnableProxyAdmin.transferAdmin",
      "offset": [
        2458,
        2481
      ],
      "op": "PUSH1",
      "path": "46",
      "value": "0x40"
    },
    "1222": {
      "fn": "OwnableProxyAdmin.transferAdmin",
      "offset": [
        2458,
        2481
      ],
      "op": "MSTORE",
      "path": "46"
    },
    "1223": {
      "fn": "OwnableProxyAdmin.transferAdmin",
      "offset": [
        2458,
        2481
      ],
      "op": "POP",
      "path": "46"
    },
    "1224": {
      "fn": "OwnableProxyAdmin.transferAdmin",
      "offset": [
        2458,
        2481
      ],
      "op": "DUP2",
      "path": "46"
    },
    "1225": {
      "fn": "OwnableProxyAdmin.transferAdmin",
      "offset": [
        2458,
        2481
      ],
      "op": "ADD",
      "path": "46"
    },
    "1226": {
      "fn": "OwnableProxyAdmin.transferAdmin",
      "offset": [
        2458,
        2481
      ],
      "op": "SWAP1",
      "path": "46"
    },
    "1227": {
      "fn": "OwnableProxyAdmin.transferAdmin",
      "offset": [
        2458,
        2481
      ],
      "op": "PUSH2",
      "path": "46",
      "value": "0x4D4"
    },
    "1230": {
      "fn": "OwnableProxyAdmin.transferAdmin",
      "offset": [
        2458,
        2481
      ],
      "op": "SWAP2",
      "path": "46"
    },
    "1231": {
      "fn": "OwnableProxyAdmin.transferAdmin",
      "offset": [
        2458,
        2481
      ],
      "op": "SWAP1",
      "path": "46"
    },
    "1232": {
      "fn": "OwnableProxyAdmin.transferAdmin",
      "offset": [
        2458,
        2481
      ],
      "op": "PUSH2",
      "path": "46",
      "value": "0x98A"
    },
    "1235": {
      "fn": "OwnableProxyAdmin.transferAdmin",
      "jump": "i",
      "offset": [
        2458,
        2481
      ],
      "op": "JUMP",
      "path": "46"
    },
    "1236": {
      "fn": "OwnableProxyAdmin.transferAdmin",
      "offset": [
        2458,
        2481
      ],
      "op": "JUMPDEST",
      "path": "46"
    },
    "1237": {
      "op": "PUSH1",
      "value": "0x1"
    },
    "1239": {
      "op": "PUSH1",
      "value": "0x1"
    },
    "1241": {
      "op": "PUSH1",
      "value": "0xA0"
    },
    "1243": {
      "op": "SHL"
    },
    "1244": {
      "op": "SUB"
    },
    "1245": {
      "fn": "OwnableProxyAdmin.transferAdmin",
      "offset": [
        2438,
        2482
      ],
      "op": "AND",
      "path": "46"
    },
    "1246": {
      "fn": "OwnableProxyAdmin.transferAdmin",
      "offset": [
        2438,
        2446
      ],
      "op": "DUP2",
      "path": "46"
    },
    "1247": {
      "op": "PUSH1",
      "value": "0x1"
    },
    "1249": {
      "op": "PUSH1",
      "value": "0x1"
    },
    "1251": {
      "op": "PUSH1",
      "value": "0xA0"
    },
    "1253": {
      "op": "SHL"
    },
    "1254": {
      "op": "SUB"
    },
    "1255": {
      "fn": "OwnableProxyAdmin.transferAdmin",
      "offset": [
        2438,
        2482
      ],
      "op": "AND",
      "path": "46"
    },
    "1256": {
      "branch": 25,
      "fn": "OwnableProxyAdmin.transferAdmin",
      "offset": [
        2438,
        2482
      ],
      "op": "SUB",
      "path": "46"
    },
    "1257": {
      "fn": "OwnableProxyAdmin.transferAdmin",
      "offset": [
        2430,
        2541
      ],
      "op": "PUSH2",
      "path": "46",
      "value": "0x553"
    },
    "1260": {
      "branch": 25,
      "fn": "OwnableProxyAdmin.transferAdmin",
      "offset": [
        2430,
        2541
      ],
      "op": "JUMPI",
      "path": "46"
    },
    "1261": {
      "fn": "OwnableProxyAdmin.transferAdmin",
      "offset": [
        2430,
        2541
      ],
      "op": "PUSH1",
      "path": "46",
      "value": "0x40"
    },
    "1263": {
      "fn": "OwnableProxyAdmin.transferAdmin",
      "offset": [
        2430,
        2541
      ],
      "op": "MLOAD",
      "path": "46"
    },
    "1264": {
      "op": "PUSH3",
      "value": "0x461BCD"
    },
    "1268": {
      "op": "PUSH1",
      "value": "0xE5"
    },
    "1270": {
      "op": "SHL"
    },
    "1271": {
      "fn": "OwnableProxyAdmin.transferAdmin",
      "offset": [
        2430,
        2541
      ],
      "op": "DUP2",
      "path": "46"
    },
    "1272": {
      "fn": "OwnableProxyAdmin.transferAdmin",
      "offset": [
        2430,
        2541
      ],
      "op": "MSTORE",
      "path": "46"
    },
    "1273": {
      "op": "PUSH1",
      "value": "0x20"
    },
    "1275": {
      "fn": "OwnableProxyAdmin.transferAdmin",
      "offset": [
        2430,
        2541
      ],
      "op": "PUSH1",
      "path": "46",
      "value": "0x4"
    },
    "1277": {
      "fn": "OwnableProxyAdmin.transferAdmin",
      "offset": [
        2430,
        2541
      ],
      "op": "DUP3",
      "path": "46"
    },
    "1278": {
      "fn": "OwnableProxyAdmin.transferAdmin",
      "offset": [
        2430,
        2541
      ],
      "op": "ADD",
      "path": "46"
    },
    "1279": {
      "op": "MSTORE"
    },
    "1280": {
      "op": "PUSH1",
      "value": "0x36"
    },
    "1282": {
      "op": "PUSH1",
      "value": "0x24"
    },
    "1284": {
      "op": "DUP3"
    },
    "1285": {
      "op": "ADD"
    },
    "1286": {
      "op": "MSTORE"
    },
    "1287": {
      "op": "PUSH32",
      "value": "0x4552524F523A5058412D3033313A50524F58595F41444D494E5F53414D455F41"
    },
    "1320": {
      "op": "PUSH1",
      "value": "0x44"
    },
    "1322": {
      "op": "DUP3"
    },
    "1323": {
      "op": "ADD"
    },
    "1324": {
      "op": "MSTORE"
    },
    "1325": {
      "op": "PUSH22",
      "value": "0x29AFA4A6A82622A6A2A72A20AA24A7A72FA7ABA722A9"
    },
    "1348": {
      "op": "PUSH1",
      "value": "0x51"
    },
    "1350": {
      "op": "SHL"
    },
    "1351": {
      "op": "PUSH1",
      "value": "0x64"
    },
    "1353": {
      "op": "DUP3"
    },
    "1354": {
      "op": "ADD"
    },
    "1355": {
      "op": "MSTORE"
    },
    "1356": {
      "op": "PUSH1",
      "value": "0x84"
    },
    "1358": {
      "op": "ADD"
    },
    "1359": {
      "fn": "OwnableProxyAdmin.transferAdmin",
      "offset": [
        2430,
        2541
      ],
      "op": "PUSH2",
      "path": "46",
      "value": "0x210"
    },
    "1362": {
      "op": "JUMP"
    },
    "1363": {
      "fn": "OwnableProxyAdmin.transferAdmin",
      "offset": [
        2430,
        2541
      ],
      "op": "JUMPDEST",
      "path": "46"
    },
    "1364": {
      "fn": "OwnableProxyAdmin.transferAdmin",
      "offset": [
        2551,
        2557
      ],
      "op": "PUSH1",
      "path": "46",
      "statement": 11,
      "value": "0x2"
    },
    "1366": {
      "fn": "OwnableProxyAdmin.transferAdmin",
      "offset": [
        2551,
        2557
      ],
      "op": "SLOAD",
      "path": "46"
    },
    "1367": {
      "fn": "OwnableProxyAdmin.transferAdmin",
      "offset": [
        2551,
        2579
      ],
      "op": "PUSH1",
      "path": "46",
      "value": "0x40"
    },
    "1369": {
      "fn": "OwnableProxyAdmin.transferAdmin",
      "offset": [
        2551,
        2579
      ],
      "op": "MLOAD",
      "path": "46"
    },
    "1370": {
      "op": "PUSH4",
      "value": "0x8F28397"
    },
    "1375": {
      "op": "PUSH1",
      "value": "0xE4"
    },
    "1377": {
      "op": "SHL"
    },
    "1378": {
      "fn": "OwnableProxyAdmin.transferAdmin",
      "offset": [
        2551,
        2579
      ],
      "op": "DUP2",
      "path": "46"
    },
    "1379": {
      "fn": "OwnableProxyAdmin.transferAdmin",
      "offset": [
        2551,
        2579
      ],
      "op": "MSTORE",
      "path": "46"
    },
    "1380": {
      "op": "PUSH1",
      "value": "0x1"
    },
    "1382": {
      "op": "PUSH1",
      "value": "0x1"
    },
    "1384": {
      "op": "PUSH1",
      "value": "0xA0"
    },
    "1386": {
      "op": "SHL"
    },
    "1387": {
      "op": "SUB"
    },
    "1388": {
      "op": "DUP4"
    },
    "1389": {
      "op": "DUP2"
    },
    "1390": {
      "op": "AND"
    },
    "1391": {
      "fn": "OwnableProxyAdmin.transferAdmin",
      "offset": [
        2551,
        2579
      ],
      "op": "PUSH1",
      "path": "46",
      "value": "0x4"
    },
    "1393": {
      "fn": "OwnableProxyAdmin.transferAdmin",
      "offset": [
        2551,
        2579
      ],
      "op": "DUP4",
      "path": "46"
    },
    "1394": {
      "fn": "OwnableProxyAdmin.transferAdmin",
      "offset": [
        2551,
        2579
      ],
      "op": "ADD",
      "path": "46"
    },
    "1395": {
      "op": "MSTORE"
    },
    "1396": {
      "fn": "OwnableProxyAdmin.transferAdmin",
      "offset": [
        2551,
        2557
      ],
      "op": "SWAP1",
      "path": "46"
    },
    "1397": {
      "fn": "OwnableProxyAdmin.transferAdmin",
      "offset": [
        2551,
        2557
      ],
      "op": "SWAP2",
      "path": "46"
    },
    "1398": {
      "fn": "OwnableProxyAdmin.transferAdmin",
      "offset": [
        2551,
        2557
      ],
      "op": "AND",
      "path": "46"
    },
    "1399": {
      "fn": "OwnableProxyAdmin.transferAdmin",
      "offset": [
        2551,
        2557
      ],
      "op": "SWAP1",
      "path": "46"
    },
    "1400": {
      "fn": "OwnableProxyAdmin.transferAdmin",
      "offset": [
        2551,
        2569
      ],
      "op": "PUSH4",
      "path": "46",
      "value": "0x8F283970"
    },
    "1405": {
      "fn": "OwnableProxyAdmin.transferAdmin",
      "offset": [
        2551,
        2569
      ],
      "op": "SWAP1",
      "path": "46"
    },
    "1406": {
      "op": "PUSH1",
      "value": "0x24"
    },
    "1408": {
      "op": "ADD"
    },
    "1409": {
      "fn": "OwnableProxyAdmin.transferAdmin",
      "offset": [
        2551,
        2579
      ],
      "op": "PUSH1",
      "path": "46",
      "value": "0x0"
    },
    "1411": {
      "fn": "OwnableProxyAdmin.transferAdmin",
      "offset": [
        2551,
        2579
      ],
      "op": "PUSH1",
      "path": "46",
      "value": "0x40"
    },
    "1413": {
      "fn": "OwnableProxyAdmin.transferAdmin",
      "offset": [
        2551,
        2579
      ],
      "op": "MLOAD",
      "path": "46"
    },
    "1414": {
      "fn": "OwnableProxyAdmin.transferAdmin",
      "offset": [
        2551,
        2579
      ],
      "op": "DUP1",
      "path": "46"
    },
    "1415": {
      "fn": "OwnableProxyAdmin.transferAdmin",
      "offset": [
        2551,
        2579
      ],
      "op": "DUP4",
      "path": "46"
    },
    "1416": {
      "fn": "OwnableProxyAdmin.transferAdmin",
      "offset": [
        2551,
        2579
      ],
      "op": "SUB",
      "path": "46"
    },
    "1417": {
      "fn": "OwnableProxyAdmin.transferAdmin",
      "offset": [
        2551,
        2579
      ],
      "op": "DUP2",
      "path": "46"
    },
    "1418": {
      "fn": "OwnableProxyAdmin.transferAdmin",
      "offset": [
        2551,
        2579
      ],
      "op": "PUSH1",
      "path": "46",
      "value": "0x0"
    },
    "1420": {
      "fn": "OwnableProxyAdmin.transferAdmin",
      "offset": [
        2551,
        2579
      ],
      "op": "DUP8",
      "path": "46"
    },
    "1421": {
      "fn": "OwnableProxyAdmin.transferAdmin",
      "offset": [
        2551,
        2579
      ],
      "op": "DUP1",
      "path": "46"
    },
    "1422": {
      "fn": "OwnableProxyAdmin.transferAdmin",
      "offset": [
        2551,
        2579
      ],
      "op": "EXTCODESIZE",
      "path": "46"
    },
    "1423": {
      "fn": "OwnableProxyAdmin.transferAdmin",
      "offset": [
        2551,
        2579
      ],
      "op": "ISZERO",
      "path": "46"
    },
    "1424": {
      "fn": "OwnableProxyAdmin.transferAdmin",
      "offset": [
        2551,
        2579
      ],
      "op": "DUP1",
      "path": "46"
    },
    "1425": {
      "fn": "OwnableProxyAdmin.transferAdmin",
      "offset": [
        2551,
        2579
      ],
      "op": "ISZERO",
      "path": "46"
    },
    "1426": {
      "fn": "OwnableProxyAdmin.transferAdmin",
      "offset": [
        2551,
        2579
      ],
      "op": "PUSH2",
      "path": "46",
      "value": "0x59A"
    },
    "1429": {
      "fn": "OwnableProxyAdmin.transferAdmin",
      "offset": [
        2551,
        2579
      ],
      "op": "JUMPI",
      "path": "46"
    },
    "1430": {
      "fn": "OwnableProxyAdmin.transferAdmin",
      "offset": [
        2551,
        2579
      ],
      "op": "PUSH1",
      "path": "46",
      "value": "0x0"
    },
    "1432": {
      "fn": "OwnableProxyAdmin.transferAdmin",
      "offset": [
        2551,
        2579
      ],
      "op": "DUP1",
      "path": "46"
    },
    "1433": {
      "fn": "OwnableProxyAdmin.transferAdmin",
      "offset": [
        2551,
        2579
      ],
      "op": "REVERT",
      "path": "46"
    },
    "1434": {
      "fn": "OwnableProxyAdmin.transferAdmin",
      "offset": [
        2551,
        2579
      ],
      "op": "JUMPDEST",
      "path": "46"
    },
    "1435": {
      "fn": "OwnableProxyAdmin.transferAdmin",
      "offset": [
        2551,
        2579
      ],
      "op": "POP",
      "path": "46"
    },
    "1436": {
      "fn": "OwnableProxyAdmin.transferAdmin",
      "offset": [
        2551,
        2579
      ],
      "op": "GAS",
      "path": "46"
    },
    "1437": {
      "fn": "OwnableProxyAdmin.transferAdmin",
      "offset": [
        2551,
        2579
      ],
      "op": "CALL",
      "path": "46"
    },
    "1438": {
      "fn": "OwnableProxyAdmin.transferAdmin",
      "offset": [
        2551,
        2579
      ],
      "op": "ISZERO",
      "path": "46"
    },
    "1439": {
      "fn": "OwnableProxyAdmin.transferAdmin",
      "offset": [
        2551,
        2579
      ],
      "op": "DUP1",
      "path": "46"
    },
    "1440": {
      "fn": "OwnableProxyAdmin.transferAdmin",
      "offset": [
        2551,
        2579
      ],
      "op": "ISZERO",
      "path": "46"
    },
    "1441": {
      "fn": "OwnableProxyAdmin.transferAdmin",
      "offset": [
        2551,
        2579
      ],
      "op": "PUSH2",
      "path": "46",
      "value": "0x5AE"
    },
    "1444": {
      "fn": "OwnableProxyAdmin.transferAdmin",
      "offset": [
        2551,
        2579
      ],
      "op": "JUMPI",
      "path": "46"
    },
    "1445": {
      "fn": "OwnableProxyAdmin.transferAdmin",
      "offset": [
        2551,
        2579
      ],
      "op": "RETURNDATASIZE",
      "path": "46"
    },
    "1446": {
      "fn": "OwnableProxyAdmin.transferAdmin",
      "offset": [
        2551,
        2579
      ],
      "op": "PUSH1",
      "path": "46",
      "value": "0x0"
    },
    "1448": {
      "fn": "OwnableProxyAdmin.transferAdmin",
      "offset": [
        2551,
        2579
      ],
      "op": "DUP1",
      "path": "46"
    },
    "1449": {
      "fn": "OwnableProxyAdmin.transferAdmin",
      "offset": [
        2551,
        2579
      ],
      "op": "RETURNDATACOPY",
      "path": "46"
    },
    "1450": {
      "fn": "OwnableProxyAdmin.transferAdmin",
      "offset": [
        2551,
        2579
      ],
      "op": "RETURNDATASIZE",
      "path": "46"
    },
    "1451": {
      "fn": "OwnableProxyAdmin.transferAdmin",
      "offset": [
        2551,
        2579
      ],
      "op": "PUSH1",
      "path": "46",
      "value": "0x0"
    },
    "1453": {
      "fn": "OwnableProxyAdmin.transferAdmin",
      "offset": [
        2551,
        2579
      ],
      "op": "REVERT",
      "path": "46"
    },
    "1454": {
      "fn": "OwnableProxyAdmin.transferAdmin",
      "offset": [
        2551,
        2579
      ],
      "op": "JUMPDEST",
      "path": "46"
    },
    "1455": {
      "fn": "OwnableProxyAdmin.transferAdmin",
      "offset": [
        2551,
        2579
      ],
      "op": "POP",
      "path": "46"
    },
    "1456": {
      "fn": "OwnableProxyAdmin.transferAdmin",
      "offset": [
        2551,
        2579
      ],
      "op": "POP",
      "path": "46"
    },
    "1457": {
      "fn": "OwnableProxyAdmin.transferAdmin",
      "offset": [
        2551,
        2579
      ],
      "op": "POP",
      "path": "46"
    },
    "1458": {
      "fn": "OwnableProxyAdmin.transferAdmin",
      "offset": [
        2551,
        2579
      ],
      "op": "POP",
      "path": "46"
    },
    "1459": {
      "fn": "OwnableProxyAdmin.transferAdmin",
      "offset": [
        2265,
        2586
      ],
      "op": "POP",
      "path": "46"
    },
    "1460": {
      "fn": "OwnableProxyAdmin.transferAdmin",
      "jump": "o",
      "offset": [
        2265,
        2586
      ],
      "op": "JUMP",
      "path": "46"
    },
    "1461": {
      "offset": [
        436,
        540
      ],
      "op": "JUMPDEST",
      "path": "46"
    },
    "1462": {
      "fn": "OwnableProxyAdmin.transferAdmin",
      "offset": [
        436,
        540
      ],
      "op": "PUSH1",
      "path": "46",
      "value": "0x40"
    },
    "1464": {
      "fn": "OwnableProxyAdmin.transferAdmin",
      "offset": [
        436,
        540
      ],
      "op": "MLOAD",
      "path": "46"
    },
    "1465": {
      "fn": "OwnableProxyAdmin.transferAdmin",
      "offset": [
        436,
        540
      ],
      "op": "DUP1",
      "path": "46"
    },
    "1466": {
      "fn": "OwnableProxyAdmin.transferAdmin",
      "offset": [
        436,
        540
      ],
      "op": "PUSH1",
      "path": "46",
      "value": "0x60"
    },
    "1468": {
      "fn": "OwnableProxyAdmin.transferAdmin",
      "offset": [
        436,
        540
      ],
      "op": "ADD",
      "path": "46"
    },
    "1469": {
      "fn": "OwnableProxyAdmin.transferAdmin",
      "offset": [
        436,
        540
      ],
      "op": "PUSH1",
      "path": "46",
      "value": "0x40"
    },
    "1471": {
      "fn": "OwnableProxyAdmin.transferAdmin",
      "offset": [
        436,
        540
      ],
      "op": "MSTORE",
      "path": "46"
    },
    "1472": {
      "fn": "OwnableProxyAdmin.transferAdmin",
      "offset": [
        436,
        540
      ],
      "op": "DUP1",
      "path": "46"
    },
    "1473": {
      "fn": "OwnableProxyAdmin.transferAdmin",
      "offset": [
        436,
        540
      ],
      "op": "PUSH1",
      "path": "46",
      "value": "0x2C"
    },
    "1475": {
      "fn": "OwnableProxyAdmin.transferAdmin",
      "offset": [
        436,
        540
      ],
      "op": "DUP2",
      "path": "46"
    },
    "1476": {
      "fn": "OwnableProxyAdmin.transferAdmin",
      "offset": [
        436,
        540
      ],
      "op": "MSTORE",
      "path": "46"
    },
    "1477": {
      "fn": "OwnableProxyAdmin.transferAdmin",
      "offset": [
        436,
        540
      ],
      "op": "PUSH1",
      "path": "46",
      "value": "0x20"
    },
    "1479": {
      "fn": "OwnableProxyAdmin.transferAdmin",
      "offset": [
        436,
        540
      ],
      "op": "ADD",
      "path": "46"
    },
    "1480": {
      "fn": "OwnableProxyAdmin.transferAdmin",
      "offset": [
        436,
        540
      ],
      "op": "PUSH2",
      "path": "46",
      "value": "0x9A8"
    },
    "1483": {
      "fn": "OwnableProxyAdmin.transferAdmin",
      "offset": [
        436,
        540
      ],
      "op": "PUSH1",
      "path": "46",
      "value": "0x2C"
    },
    "1485": {
      "fn": "OwnableProxyAdmin.transferAdmin",
      "offset": [
        436,
        540
      ],
      "op": "SWAP2",
      "path": "46"
    },
    "1486": {
      "fn": "OwnableProxyAdmin.transferAdmin",
      "offset": [
        436,
        540
      ],
      "op": "CODECOPY",
      "path": "46"
    },
    "1487": {
      "fn": "OwnableProxyAdmin.transferAdmin",
      "offset": [
        436,
        540
      ],
      "op": "DUP2",
      "path": "46"
    },
    "1488": {
      "fn": "OwnableProxyAdmin.transferAdmin",
      "jump": "o",
      "offset": [
        436,
        540
      ],
      "op": "JUMP",
      "path": "46"
    },
    "1489": {
      "fn": "OwnableProxyAdmin.setProxy",
      "offset": [
        872,
        1153
      ],
      "op": "JUMPDEST",
      "path": "46"
    },
    "1490": {
      "offset": [
        1094,
        1107
      ],
      "op": "PUSH2",
      "path": "6",
      "value": "0x5D9"
    },
    "1493": {
      "offset": [
        1094,
        1105
      ],
      "op": "PUSH2",
      "path": "6",
      "value": "0x7B1"
    },
    "1496": {
      "jump": "i",
      "offset": [
        1094,
        1107
      ],
      "op": "JUMP",
      "path": "6"
    },
    "1497": {
      "fn": "OwnableProxyAdmin.setProxy",
      "offset": [
        1094,
        1107
      ],
      "op": "JUMPDEST",
      "path": "6"
    },
    "1498": {
      "fn": "OwnableProxyAdmin.setProxy",
      "offset": [
        990,
        996
      ],
      "op": "PUSH1",
      "path": "46",
      "statement": 12,
      "value": "0x2"
    },
    "1500": {
      "fn": "OwnableProxyAdmin.setProxy",
      "offset": [
        990,
        996
      ],
      "op": "SLOAD",
      "path": "46"
    },
    "1501": {
      "op": "PUSH1",
      "value": "0x1"
    },
    "1503": {
      "op": "PUSH1",
      "value": "0x1"
    },
    "1505": {
      "op": "PUSH1",
      "value": "0xA0"
    },
    "1507": {
      "op": "SHL"
    },
    "1508": {
      "op": "SUB"
    },
    "1509": {
      "fn": "OwnableProxyAdmin.setProxy",
      "offset": [
        990,
        996
      ],
      "op": "AND",
      "path": "46"
    },
    "1510": {
      "branch": 26,
      "fn": "OwnableProxyAdmin.setProxy",
      "offset": [
        982,
        1011
      ],
      "op": "ISZERO",
      "path": "46"
    },
    "1511": {
      "fn": "OwnableProxyAdmin.setProxy",
      "offset": [
        974,
        1047
      ],
      "op": "PUSH2",
      "path": "46",
      "value": "0x632"
    },
    "1514": {
      "branch": 26,
      "fn": "OwnableProxyAdmin.setProxy",
      "offset": [
        974,
        1047
      ],
      "op": "JUMPI",
      "path": "46"
    },
    "1515": {
      "fn": "OwnableProxyAdmin.setProxy",
      "offset": [
        974,
        1047
      ],
      "op": "PUSH1",
      "path": "46",
      "value": "0x40"
    },
    "1517": {
      "fn": "OwnableProxyAdmin.setProxy",
      "offset": [
        974,
        1047
      ],
      "op": "MLOAD",
      "path": "46"
    },
    "1518": {
      "op": "PUSH3",
      "value": "0x461BCD"
    },
    "1522": {
      "op": "PUSH1",
      "value": "0xE5"
    },
    "1524": {
      "op": "SHL"
    },
    "1525": {
      "fn": "OwnableProxyAdmin.setProxy",
      "offset": [
        974,
        1047
      ],
      "op": "DUP2",
      "path": "46"
    },
    "1526": {
      "fn": "OwnableProxyAdmin.setProxy",
      "offset": [
        974,
        1047
      ],
      "op": "MSTORE",
      "path": "46"
    },
    "1527": {
      "op": "PUSH1",
      "value": "0x20"
    },
    "1529": {
      "fn": "OwnableProxyAdmin.setProxy",
      "offset": [
        974,
        1047
      ],
      "op": "PUSH1",
      "path": "46",
      "value": "0x4"
    },
    "1531": {
      "fn": "OwnableProxyAdmin.setProxy",
      "offset": [
        974,
        1047
      ],
      "op": "DUP3",
      "path": "46"
    },
    "1532": {
      "fn": "OwnableProxyAdmin.setProxy",
      "offset": [
        974,
        1047
      ],
      "op": "ADD",
      "path": "46"
    },
    "1533": {
      "op": "MSTORE"
    },
    "1534": {
      "op": "PUSH1",
      "value": "0x1F"
    },
    "1536": {
      "op": "PUSH1",
      "value": "0x24"
    },
    "1538": {
      "op": "DUP3"
    },
    "1539": {
      "op": "ADD"
    },
    "1540": {
      "op": "MSTORE"
    },
    "1541": {
      "op": "PUSH32",
      "value": "0x4552524F523A5058412D3031303A50524F58595F5345545F414C524541445900"
    },
    "1574": {
      "op": "PUSH1",
      "value": "0x44"
    },
    "1576": {
      "op": "DUP3"
    },
    "1577": {
      "op": "ADD"
    },
    "1578": {
      "op": "MSTORE"
    },
    "1579": {
      "op": "PUSH1",
      "value": "0x64"
    },
    "1581": {
      "op": "ADD"
    },
    "1582": {
      "fn": "OwnableProxyAdmin.setProxy",
      "offset": [
        974,
        1047
      ],
      "op": "PUSH2",
      "path": "46",
      "value": "0x210"
    },
    "1585": {
      "op": "JUMP"
    },
    "1586": {
      "fn": "OwnableProxyAdmin.setProxy",
      "offset": [
        974,
        1047
      ],
      "op": "JUMPDEST",
      "path": "46"
    },
    "1587": {
      "op": "PUSH1",
      "value": "0x1"
    },
    "1589": {
      "op": "PUSH1",
      "value": "0x1"
    },
    "1591": {
      "op": "PUSH1",
      "value": "0xA0"
    },
    "1593": {
      "op": "SHL"
    },
    "1594": {
      "op": "SUB"
    },
    "1595": {
      "fn": "OwnableProxyAdmin.setProxy",
      "offset": [
        1065,
        1093
      ],
      "op": "DUP2",
      "path": "46",
      "statement": 13
    },
    "1596": {
      "branch": 27,
      "fn": "OwnableProxyAdmin.setProxy",
      "offset": [
        1065,
        1093
      ],
      "op": "AND",
      "path": "46"
    },
    "1597": {
      "fn": "OwnableProxyAdmin.setProxy",
      "offset": [
        1057,
        1122
      ],
      "op": "PUSH2",
      "path": "46",
      "value": "0x688"
    },
    "1600": {
      "branch": 27,
      "fn": "OwnableProxyAdmin.setProxy",
      "offset": [
        1057,
        1122
      ],
      "op": "JUMPI",
      "path": "46"
    },
    "1601": {
      "fn": "OwnableProxyAdmin.setProxy",
      "offset": [
        1057,
        1122
      ],
      "op": "PUSH1",
      "path": "46",
      "value": "0x40"
    },
    "1603": {
      "fn": "OwnableProxyAdmin.setProxy",
      "offset": [
        1057,
        1122
      ],
      "op": "MLOAD",
      "path": "46"
    },
    "1604": {
      "op": "PUSH3",
      "value": "0x461BCD"
    },
    "1608": {
      "op": "PUSH1",
      "value": "0xE5"
    },
    "1610": {
      "op": "SHL"
    },
    "1611": {
      "fn": "OwnableProxyAdmin.setProxy",
      "offset": [
        1057,
        1122
      ],
      "op": "DUP2",
      "path": "46"
    },
    "1612": {
      "fn": "OwnableProxyAdmin.setProxy",
      "offset": [
        1057,
        1122
      ],
      "op": "MSTORE",
      "path": "46"
    },
    "1613": {
      "op": "PUSH1",
      "value": "0x20"
    },
    "1615": {
      "fn": "OwnableProxyAdmin.setProxy",
      "offset": [
        1057,
        1122
      ],
      "op": "PUSH1",
      "path": "46",
      "value": "0x4"
    },
    "1617": {
      "fn": "OwnableProxyAdmin.setProxy",
      "offset": [
        1057,
        1122
      ],
      "op": "DUP3",
      "path": "46"
    },
    "1618": {
      "fn": "OwnableProxyAdmin.setProxy",
      "offset": [
        1057,
        1122
      ],
      "op": "ADD",
      "path": "46"
    },
    "1619": {
      "op": "MSTORE"
    },
    "1620": {
      "op": "PUSH1",
      "value": "0x18"
    },
    "1622": {
      "op": "PUSH1",
      "value": "0x24"
    },
    "1624": {
      "op": "DUP3"
    },
    "1625": {
      "op": "ADD"
    },
    "1626": {
      "op": "MSTORE"
    },
    "1627": {
      "op": "PUSH32",
      "value": "0x4552524F523A5058412D3031313A50524F58595F5A45524F0000000000000000"
    },
    "1660": {
      "op": "PUSH1",
      "value": "0x44"
    },
    "1662": {
      "op": "DUP3"
    },
    "1663": {
      "op": "ADD"
    },
    "1664": {
      "op": "MSTORE"
    },
    "1665": {
      "op": "PUSH1",
      "value": "0x64"
    },
    "1667": {
      "op": "ADD"
    },
    "1668": {
      "fn": "OwnableProxyAdmin.setProxy",
      "offset": [
        1057,
        1122
      ],
      "op": "PUSH2",
      "path": "46",
      "value": "0x210"
    },
    "1671": {
      "op": "JUMP"
    },
    "1672": {
      "fn": "OwnableProxyAdmin.setProxy",
      "offset": [
        1057,
        1122
      ],
      "op": "JUMPDEST",
      "path": "46"
    },
    "1673": {
      "fn": "OwnableProxyAdmin.setProxy",
      "offset": [
        1132,
        1138
      ],
      "op": "PUSH1",
      "path": "46",
      "statement": 14,
      "value": "0x2"
    },
    "1675": {
      "fn": "OwnableProxyAdmin.setProxy",
      "offset": [
        1132,
        1146
      ],
      "op": "DUP1",
      "path": "46"
    },
    "1676": {
      "fn": "OwnableProxyAdmin.setProxy",
      "offset": [
        1132,
        1146
      ],
      "op": "SLOAD",
      "path": "46"
    },
    "1677": {
      "op": "PUSH1",
      "value": "0x1"
    },
    "1679": {
      "op": "PUSH1",
      "value": "0x1"
    },
    "1681": {
      "op": "PUSH1",
      "value": "0xA0"
    },
    "1683": {
      "op": "SHL"
    },
    "1684": {
      "op": "SUB"
    },
    "1685": {
      "op": "NOT"
    },
    "1686": {
      "fn": "OwnableProxyAdmin.setProxy",
      "offset": [
        1132,
        1146
      ],
      "op": "AND",
      "path": "46"
    },
    "1687": {
      "op": "PUSH1",
      "value": "0x1"
    },
    "1689": {
      "op": "PUSH1",
      "value": "0x1"
    },
    "1691": {
      "op": "PUSH1",
      "value": "0xA0"
    },
    "1693": {
      "op": "SHL"
    },
    "1694": {
      "op": "SUB"
    },
    "1695": {
      "fn": "OwnableProxyAdmin.setProxy",
      "offset": [
        1132,
        1146
      ],
      "op": "SWAP3",
      "path": "46"
    },
    "1696": {
      "fn": "OwnableProxyAdmin.setProxy",
      "offset": [
        1132,
        1146
      ],
      "op": "SWAP1",
      "path": "46"
    },
    "1697": {
      "fn": "OwnableProxyAdmin.setProxy",
      "offset": [
        1132,
        1146
      ],
      "op": "SWAP3",
      "path": "46"
    },
    "1698": {
      "fn": "OwnableProxyAdmin.setProxy",
      "offset": [
        1132,
        1146
      ],
      "op": "AND",
      "path": "46"
    },
    "1699": {
      "fn": "OwnableProxyAdmin.setProxy",
      "offset": [
        1132,
        1146
      ],
      "op": "SWAP2",
      "path": "46"
    },
    "1700": {
      "fn": "OwnableProxyAdmin.setProxy",
      "offset": [
        1132,
        1146
      ],
      "op": "SWAP1",
      "path": "46"
    },
    "1701": {
      "fn": "OwnableProxyAdmin.setProxy",
      "offset": [
        1132,
        1146
      ],
      "op": "SWAP2",
      "path": "46"
    },
    "1702": {
      "fn": "OwnableProxyAdmin.setProxy",
      "offset": [
        1132,
        1146
      ],
      "op": "OR",
      "path": "46"
    },
    "1703": {
      "fn": "OwnableProxyAdmin.setProxy",
      "offset": [
        1132,
        1146
      ],
      "op": "SWAP1",
      "path": "46"
    },
    "1704": {
      "fn": "OwnableProxyAdmin.setProxy",
      "offset": [
        1132,
        1146
      ],
      "op": "SSTORE",
      "path": "46"
    },
    "1705": {
      "fn": "OwnableProxyAdmin.setProxy",
      "jump": "o",
      "offset": [
        872,
        1153
      ],
      "op": "JUMP",
      "path": "46"
    },
    "1706": {
      "fn": "OwnableProxyAdmin.getProxyCallData",
      "offset": [
        1160,
        1539
      ],
      "op": "JUMPDEST",
      "path": "46"
    },
    "1707": {
      "fn": "OwnableProxyAdmin.getProxyCallData",
      "offset": [
        1336,
        1353
      ],
      "op": "PUSH1",
      "path": "46",
      "value": "0x60"
    },
    "1709": {
      "fn": "OwnableProxyAdmin.getProxyCallData",
      "offset": [
        1413,
        1445
      ],
      "op": "PUSH1",
      "path": "46",
      "statement": 15,
      "value": "0x40"
    },
    "1711": {
      "fn": "OwnableProxyAdmin.getProxyCallData",
      "offset": [
        1413,
        1445
      ],
      "op": "MLOAD",
      "path": "46"
    },
    "1712": {
      "fn": "OwnableProxyAdmin.getProxyCallData",
      "offset": [
        1413,
        1445
      ],
      "op": "DUP1",
      "path": "46"
    },
    "1713": {
      "fn": "OwnableProxyAdmin.getProxyCallData",
      "offset": [
        1413,
        1445
      ],
      "op": "PUSH1",
      "path": "46",
      "value": "0x60"
    },
    "1715": {
      "fn": "OwnableProxyAdmin.getProxyCallData",
      "offset": [
        1413,
        1445
      ],
      "op": "ADD",
      "path": "46"
    },
    "1716": {
      "fn": "OwnableProxyAdmin.getProxyCallData",
      "offset": [
        1413,
        1445
      ],
      "op": "PUSH1",
      "path": "46",
      "value": "0x40"
    },
    "1718": {
      "fn": "OwnableProxyAdmin.getProxyCallData",
      "offset": [
        1413,
        1445
      ],
      "op": "MSTORE",
      "path": "46"
    },
    "1719": {
      "fn": "OwnableProxyAdmin.getProxyCallData",
      "offset": [
        1413,
        1445
      ],
      "op": "DUP1",
      "path": "46"
    },
    "1720": {
      "fn": "OwnableProxyAdmin.getProxyCallData",
      "offset": [
        1413,
        1445
      ],
      "op": "PUSH1",
      "path": "46",
      "value": "0x2C"
    },
    "1722": {
      "fn": "OwnableProxyAdmin.getProxyCallData",
      "offset": [
        1413,
        1445
      ],
      "op": "DUP2",
      "path": "46"
    },
    "1723": {
      "fn": "OwnableProxyAdmin.getProxyCallData",
      "offset": [
        1413,
        1445
      ],
      "op": "MSTORE",
      "path": "46"
    },
    "1724": {
      "fn": "OwnableProxyAdmin.getProxyCallData",
      "offset": [
        1413,
        1445
      ],
      "op": "PUSH1",
      "path": "46",
      "value": "0x20"
    },
    "1726": {
      "fn": "OwnableProxyAdmin.getProxyCallData",
      "offset": [
        1413,
        1445
      ],
      "op": "ADD",
      "path": "46"
    },
    "1727": {
      "fn": "OwnableProxyAdmin.getProxyCallData",
      "offset": [
        1413,
        1445
      ],
      "op": "PUSH2",
      "path": "46",
      "value": "0x9A8"
    },
    "1730": {
      "fn": "OwnableProxyAdmin.getProxyCallData",
      "offset": [
        1413,
        1445
      ],
      "op": "PUSH1",
      "path": "46",
      "value": "0x2C"
    },
    "1732": {
      "fn": "OwnableProxyAdmin.getProxyCallData",
      "offset": [
        1413,
        1445
      ],
      "op": "SWAP2",
      "path": "46"
    },
    "1733": {
      "fn": "OwnableProxyAdmin.getProxyCallData",
      "offset": [
        1413,
        1445
      ],
      "op": "CODECOPY",
      "path": "46"
    },
    "1734": {
      "fn": "OwnableProxyAdmin.getProxyCallData",
      "offset": [
        1376,
        1532
      ],
      "op": "PUSH1",
      "path": "46",
      "value": "0x40"
    },
    "1736": {
      "fn": "OwnableProxyAdmin.getProxyCallData",
      "offset": [
        1376,
        1532
      ],
      "op": "MLOAD",
      "path": "46"
    },
    "1737": {
      "op": "PUSH1",
      "value": "0x1"
    },
    "1739": {
      "op": "PUSH1",
      "value": "0x1"
    },
    "1741": {
      "op": "PUSH1",
      "value": "0xA0"
    },
    "1743": {
      "op": "SHL"
    },
    "1744": {
      "op": "SUB"
    },
    "1745": {
      "op": "DUP1"
    },
    "1746": {
      "op": "DUP8"
    },
    "1747": {
      "op": "AND"
    },
    "1748": {
      "fn": "OwnableProxyAdmin.getProxyCallData",
      "offset": [
        1376,
        1532
      ],
      "op": "PUSH1",
      "path": "46",
      "value": "0x24"
    },
    "1750": {
      "fn": "OwnableProxyAdmin.getProxyCallData",
      "offset": [
        1376,
        1532
      ],
      "op": "DUP4",
      "path": "46"
    },
    "1751": {
      "fn": "OwnableProxyAdmin.getProxyCallData",
      "offset": [
        1376,
        1532
      ],
      "op": "ADD",
      "path": "46"
    },
    "1752": {
      "op": "MSTORE"
    },
    "1753": {
      "op": "DUP1"
    },
    "1754": {
      "op": "DUP7"
    },
    "1755": {
      "op": "AND"
    },
    "1756": {
      "op": "PUSH1",
      "value": "0x44"
    },
    "1758": {
      "op": "DUP4"
    },
    "1759": {
      "op": "ADD"
    },
    "1760": {
      "op": "MSTORE"
    },
    "1761": {
      "op": "DUP5"
    },
    "1762": {
      "op": "AND"
    },
    "1763": {
      "op": "PUSH1",
      "value": "0x64"
    },
    "1765": {
      "op": "DUP3"
    },
    "1766": {
      "op": "ADD"
    },
    "1767": {
      "op": "MSTORE"
    },
    "1768": {
      "op": "PUSH1",
      "value": "0x84"
    },
    "1770": {
      "op": "ADD"
    },
    "1771": {
      "fn": "OwnableProxyAdmin.getProxyCallData",
      "offset": [
        1376,
        1532
      ],
      "op": "PUSH1",
      "path": "46",
      "value": "0x40"
    },
    "1773": {
      "fn": "OwnableProxyAdmin.getProxyCallData",
      "offset": [
        1376,
        1532
      ],
      "op": "DUP1",
      "path": "46"
    },
    "1774": {
      "fn": "OwnableProxyAdmin.getProxyCallData",
      "offset": [
        1376,
        1532
      ],
      "op": "MLOAD",
      "path": "46"
    },
    "1775": {
      "op": "PUSH1",
      "value": "0x1F"
    },
    "1777": {
      "op": "NOT"
    },
    "1778": {
      "fn": "OwnableProxyAdmin.getProxyCallData",
      "offset": [
        1376,
        1532
      ],
      "op": "DUP2",
      "path": "46"
    },
    "1779": {
      "fn": "OwnableProxyAdmin.getProxyCallData",
      "offset": [
        1376,
        1532
      ],
      "op": "DUP5",
      "path": "46"
    },
    "1780": {
      "fn": "OwnableProxyAdmin.getProxyCallData",
      "offset": [
        1376,
        1532
      ],
      "op": "SUB",
      "path": "46"
    },
    "1781": {
      "fn": "OwnableProxyAdmin.getProxyCallData",
      "offset": [
        1376,
        1532
      ],
      "op": "ADD",
      "path": "46"
    },
    "1782": {
      "fn": "OwnableProxyAdmin.getProxyCallData",
      "offset": [
        1376,
        1532
      ],
      "op": "DUP2",
      "path": "46"
    },
    "1783": {
      "fn": "OwnableProxyAdmin.getProxyCallData",
      "offset": [
        1376,
        1532
      ],
      "op": "MSTORE",
      "path": "46"
    },
    "1784": {
      "fn": "OwnableProxyAdmin.getProxyCallData",
      "offset": [
        1376,
        1532
      ],
      "op": "SWAP1",
      "path": "46"
    },
    "1785": {
      "fn": "OwnableProxyAdmin.getProxyCallData",
      "offset": [
        1376,
        1532
      ],
      "op": "DUP3",
      "path": "46"
    },
    "1786": {
      "fn": "OwnableProxyAdmin.getProxyCallData",
      "offset": [
        1376,
        1532
      ],
      "op": "SWAP1",
      "path": "46"
    },
    "1787": {
      "fn": "OwnableProxyAdmin.getProxyCallData",
      "offset": [
        1376,
        1532
      ],
      "op": "MSTORE",
      "path": "46"
    },
    "1788": {
      "fn": "OwnableProxyAdmin.getProxyCallData",
      "offset": [
        1376,
        1532
      ],
      "op": "SWAP2",
      "path": "46"
    },
    "1789": {
      "fn": "OwnableProxyAdmin.getProxyCallData",
      "offset": [
        1376,
        1532
      ],
      "op": "PUSH2",
      "path": "46",
      "value": "0x705"
    },
    "1792": {
      "fn": "OwnableProxyAdmin.getProxyCallData",
      "offset": [
        1376,
        1532
      ],
      "op": "SWAP2",
      "path": "46"
    },
    "1793": {
      "fn": "OwnableProxyAdmin.getProxyCallData",
      "offset": [
        1376,
        1532
      ],
      "op": "PUSH2",
      "path": "46",
      "value": "0x942"
    },
    "1796": {
      "fn": "OwnableProxyAdmin.getProxyCallData",
      "jump": "i",
      "offset": [
        1376,
        1532
      ],
      "op": "JUMP",
      "path": "46"
    },
    "1797": {
      "fn": "OwnableProxyAdmin.getProxyCallData",
      "offset": [
        1376,
        1532
      ],
      "op": "JUMPDEST",
      "path": "46"
    },
    "1798": {
      "fn": "OwnableProxyAdmin.getProxyCallData",
      "offset": [
        1376,
        1532
      ],
      "op": "PUSH1",
      "path": "46",
      "value": "0x40"
    },
    "1800": {
      "fn": "OwnableProxyAdmin.getProxyCallData",
      "offset": [
        1376,
        1532
      ],
      "op": "MLOAD",
      "path": "46"
    },
    "1801": {
      "fn": "OwnableProxyAdmin.getProxyCallData",
      "offset": [
        1376,
        1532
      ],
      "op": "SWAP1",
      "path": "46"
    },
    "1802": {
      "fn": "OwnableProxyAdmin.getProxyCallData",
      "offset": [
        1376,
        1532
      ],
      "op": "DUP2",
      "path": "46"
    },
    "1803": {
      "fn": "OwnableProxyAdmin.getProxyCallData",
      "offset": [
        1376,
        1532
      ],
      "op": "SWAP1",
      "path": "46"
    },
    "1804": {
      "fn": "OwnableProxyAdmin.getProxyCallData",
      "offset": [
        1376,
        1532
      ],
      "op": "SUB",
      "path": "46"
    },
    "1805": {
      "fn": "OwnableProxyAdmin.getProxyCallData",
      "offset": [
        1376,
        1532
      ],
      "op": "SWAP1",
      "path": "46"
    },
    "1806": {
      "fn": "OwnableProxyAdmin.getProxyCallData",
      "offset": [
        1376,
        1532
      ],
      "op": "KECCAK256",
      "path": "46"
    },
    "1807": {
      "fn": "OwnableProxyAdmin.getProxyCallData",
      "offset": [
        1376,
        1532
      ],
      "op": "PUSH1",
      "path": "46",
      "value": "0x20"
    },
    "1809": {
      "fn": "OwnableProxyAdmin.getProxyCallData",
      "offset": [
        1376,
        1532
      ],
      "op": "DUP3",
      "path": "46"
    },
    "1810": {
      "fn": "OwnableProxyAdmin.getProxyCallData",
      "offset": [
        1376,
        1532
      ],
      "op": "ADD",
      "path": "46"
    },
    "1811": {
      "fn": "OwnableProxyAdmin.getProxyCallData",
      "offset": [
        1376,
        1532
      ],
      "op": "DUP1",
      "path": "46"
    },
    "1812": {
      "fn": "OwnableProxyAdmin.getProxyCallData",
      "offset": [
        1376,
        1532
      ],
      "op": "MLOAD",
      "path": "46"
    },
    "1813": {
      "op": "PUSH1",
      "value": "0x1"
    },
    "1815": {
      "op": "PUSH1",
      "value": "0x1"
    },
    "1817": {
      "op": "PUSH1",
      "value": "0xE0"
    },
    "1819": {
      "op": "SHL"
    },
    "1820": {
      "op": "SUB"
    },
    "1821": {
      "fn": "OwnableProxyAdmin.getProxyCallData",
      "offset": [
        1376,
        1532
      ],
      "op": "AND",
      "path": "46"
    },
    "1822": {
      "op": "PUSH1",
      "value": "0x1"
    },
    "1824": {
      "op": "PUSH1",
      "value": "0x1"
    },
    "1826": {
      "op": "PUSH1",
      "value": "0xE0"
    },
    "1828": {
      "op": "SHL"
    },
    "1829": {
      "op": "SUB"
    },
    "1830": {
      "op": "NOT"
    },
    "1831": {
      "fn": "OwnableProxyAdmin.getProxyCallData",
      "offset": [
        1376,
        1532
      ],
      "op": "SWAP1",
      "path": "46"
    },
    "1832": {
      "fn": "OwnableProxyAdmin.getProxyCallData",
      "offset": [
        1376,
        1532
      ],
      "op": "SWAP3",
      "path": "46"
    },
    "1833": {
      "fn": "OwnableProxyAdmin.getProxyCallData",
      "offset": [
        1376,
        1532
      ],
      "op": "AND",
      "path": "46"
    },
    "1834": {
      "fn": "OwnableProxyAdmin.getProxyCallData",
      "offset": [
        1376,
        1532
      ],
      "op": "SWAP2",
      "path": "46"
    },
    "1835": {
      "fn": "OwnableProxyAdmin.getProxyCallData",
      "offset": [
        1376,
        1532
      ],
      "op": "SWAP1",
      "path": "46"
    },
    "1836": {
      "fn": "OwnableProxyAdmin.getProxyCallData",
      "offset": [
        1376,
        1532
      ],
      "op": "SWAP2",
      "path": "46"
    },
    "1837": {
      "fn": "OwnableProxyAdmin.getProxyCallData",
      "offset": [
        1376,
        1532
      ],
      "op": "OR",
      "path": "46"
    },
    "1838": {
      "fn": "OwnableProxyAdmin.getProxyCallData",
      "offset": [
        1376,
        1532
      ],
      "op": "SWAP1",
      "path": "46"
    },
    "1839": {
      "fn": "OwnableProxyAdmin.getProxyCallData",
      "offset": [
        1376,
        1532
      ],
      "op": "MSTORE",
      "path": "46"
    },
    "1840": {
      "fn": "OwnableProxyAdmin.getProxyCallData",
      "offset": [
        1376,
        1532
      ],
      "op": "SWAP1",
      "path": "46"
    },
    "1841": {
      "op": "POP"
    },
    "1842": {
      "fn": "OwnableProxyAdmin.getProxyCallData",
      "offset": [
        1160,
        1539
      ],
      "op": "SWAP4",
      "path": "46"
    },
    "1843": {
      "fn": "OwnableProxyAdmin.getProxyCallData",
      "offset": [
        1160,
        1539
      ],
      "op": "SWAP3",
      "path": "46"
    },
    "1844": {
      "fn": "OwnableProxyAdmin.getProxyCallData",
      "offset": [
        1160,
        1539
      ],
      "op": "POP",
      "path": "46"
    },
    "1845": {
      "fn": "OwnableProxyAdmin.getProxyCallData",
      "offset": [
        1160,
        1539
      ],
      "op": "POP",
      "path": "46"
    },
    "1846": {
      "fn": "OwnableProxyAdmin.getProxyCallData",
      "offset": [
        1160,
        1539
      ],
      "op": "POP",
      "path": "46"
    },
    "1847": {
      "fn": "OwnableProxyAdmin.getProxyCallData",
      "jump": "o",
      "offset": [
        1160,
        1539
      ],
      "op": "JUMP",
      "path": "46"
    },
    "1848": {
      "fn": "Ownable.transferOwnership",
      "offset": [
        2081,
        2279
      ],
      "op": "JUMPDEST",
      "path": "6"
    },
    "1849": {
      "offset": [
        1094,
        1107
      ],
      "op": "PUSH2",
      "path": "6",
      "value": "0x740"
    },
    "1852": {
      "offset": [
        1094,
        1105
      ],
      "op": "PUSH2",
      "path": "6",
      "value": "0x7B1"
    },
    "1855": {
      "jump": "i",
      "offset": [
        1094,
        1107
      ],
      "op": "JUMP",
      "path": "6"
    },
    "1856": {
      "fn": "Ownable.transferOwnership",
      "offset": [
        1094,
        1107
      ],
      "op": "JUMPDEST",
      "path": "6"
    },
    "1857": {
      "op": "PUSH1",
      "value": "0x1"
    },
    "1859": {
      "op": "PUSH1",
      "value": "0x1"
    },
    "1861": {
      "op": "PUSH1",
      "value": "0xA0"
    },
    "1863": {
      "op": "SHL"
    },
    "1864": {
      "op": "SUB"
    },
    "1865": {
      "fn": "Ownable.transferOwnership",
      "offset": [
        2169,
        2191
      ],
      "op": "DUP2",
      "path": "6",
      "statement": 16
    },
    "1866": {
      "branch": 28,
      "fn": "Ownable.transferOwnership",
      "offset": [
        2169,
        2191
      ],
      "op": "AND",
      "path": "6"
    },
    "1867": {
      "fn": "Ownable.transferOwnership",
      "offset": [
        2161,
        2234
      ],
      "op": "PUSH2",
      "path": "6",
      "value": "0x7A5"
    },
    "1870": {
      "branch": 28,
      "fn": "Ownable.transferOwnership",
      "offset": [
        2161,
        2234
      ],
      "op": "JUMPI",
      "path": "6"
    },
    "1871": {
      "fn": "Ownable.transferOwnership",
      "offset": [
        2161,
        2234
      ],
      "op": "PUSH1",
      "path": "6",
      "value": "0x40"
    },
    "1873": {
      "fn": "Ownable.transferOwnership",
      "offset": [
        2161,
        2234
      ],
      "op": "MLOAD",
      "path": "6"
    },
    "1874": {
      "op": "PUSH3",
      "value": "0x461BCD"
    },
    "1878": {
      "op": "PUSH1",
      "value": "0xE5"
    },
    "1880": {
      "op": "SHL"
    },
    "1881": {
      "fn": "Ownable.transferOwnership",
      "offset": [
        2161,
        2234
      ],
      "op": "DUP2",
      "path": "6"
    },
    "1882": {
      "fn": "Ownable.transferOwnership",
      "offset": [
        2161,
        2234
      ],
      "op": "MSTORE",
      "path": "6"
    },
    "1883": {
      "op": "PUSH1",
      "value": "0x20"
    },
    "1885": {
      "fn": "Ownable.transferOwnership",
      "offset": [
        2161,
        2234
      ],
      "op": "PUSH1",
      "path": "6",
      "value": "0x4"
    },
    "1887": {
      "fn": "Ownable.transferOwnership",
      "offset": [
        2161,
        2234
      ],
      "op": "DUP3",
      "path": "6"
    },
    "1888": {
      "fn": "Ownable.transferOwnership",
      "offset": [
        2161,
        2234
      ],
      "op": "ADD",
      "path": "6"
    },
    "1889": {
      "op": "MSTORE"
    },
    "1890": {
      "op": "PUSH1",
      "value": "0x26"
    },
    "1892": {
      "op": "PUSH1",
      "value": "0x24"
    },
    "1894": {
      "op": "DUP3"
    },
    "1895": {
      "op": "ADD"
    },
    "1896": {
      "op": "MSTORE"
    },
    "1897": {
      "op": "PUSH32",
      "value": "0x4F776E61626C653A206E6577206F776E657220697320746865207A65726F2061"
    },
    "1930": {
      "op": "PUSH1",
      "value": "0x44"
    },
    "1932": {
      "op": "DUP3"
    },
    "1933": {
      "op": "ADD"
    },
    "1934": {
      "op": "MSTORE"
    },
    "1935": {
      "op": "PUSH6",
      "value": "0x646472657373"
    },
    "1942": {
      "op": "PUSH1",
      "value": "0xD0"
    },
    "1944": {
      "op": "SHL"
    },
    "1945": {
      "op": "PUSH1",
      "value": "0x64"
    },
    "1947": {
      "op": "DUP3"
    },
    "1948": {
      "op": "ADD"
    },
    "1949": {
      "op": "MSTORE"
    },
    "1950": {
      "op": "PUSH1",
      "value": "0x84"
    },
    "1952": {
      "op": "ADD"
    },
    "1953": {
      "fn": "Ownable.transferOwnership",
      "offset": [
        2161,
        2234
      ],
      "op": "PUSH2",
      "path": "6",
      "value": "0x210"
    },
    "1956": {
      "op": "JUMP"
    },
    "1957": {
      "fn": "Ownable.transferOwnership",
      "offset": [
        2161,
        2234
      ],
      "op": "JUMPDEST",
      "path": "6"
    },
    "1958": {
      "fn": "Ownable.transferOwnership",
      "offset": [
        2244,
        2272
      ],
      "op": "PUSH2",
      "path": "6",
      "statement": 17,
      "value": "0x7AE"
    },
    "1961": {
      "fn": "Ownable.transferOwnership",
      "offset": [
        2263,
        2271
      ],
      "op": "DUP2",
      "path": "6"
    },
    "1962": {
      "fn": "Ownable.transferOwnership",
      "offset": [
        2244,
        2262
      ],
      "op": "PUSH2",
      "path": "6",
      "value": "0x80B"
    },
    "1965": {
      "fn": "Ownable.transferOwnership",
      "jump": "i",
      "offset": [
        2244,
        2272
      ],
      "op": "JUMP",
      "path": "6"
    },
    "1966": {
      "fn": "Ownable.transferOwnership",
      "offset": [
        2244,
        2272
      ],
      "op": "JUMPDEST",
      "path": "6"
    },
    "1967": {
      "fn": "Ownable.transferOwnership",
      "offset": [
        2081,
        2279
      ],
      "op": "POP",
      "path": "6"
    },
    "1968": {
      "fn": "Ownable.transferOwnership",
      "jump": "o",
      "offset": [
        2081,
        2279
      ],
      "op": "JUMP",
      "path": "6"
    },
    "1969": {
      "fn": "Ownable._checkOwner",
      "offset": [
        1359,
        1489
      ],
      "op": "JUMPDEST",
      "path": "6"
    },
    "1970": {
      "fn": "Ownable.owner",
      "offset": [
        1247,
        1254
      ],
      "op": "PUSH1",
      "path": "6",
      "value": "0x0"
    },
    "1972": {
      "fn": "Ownable.owner",
      "offset": [
        1273,
        1279
      ],
      "op": "SLOAD",
      "path": "6"
    },
    "1973": {
      "op": "PUSH1",
      "value": "0x1"
    },
    "1975": {
      "op": "PUSH1",
      "value": "0x1"
    },
    "1977": {
      "op": "PUSH1",
      "value": "0xA0"
    },
    "1979": {
      "op": "SHL"
    },
    "1980": {
      "op": "SUB"
    },
    "1981": {
      "fn": "Ownable.owner",
      "offset": [
        1273,
        1279
      ],
      "op": "AND",
      "path": "6"
    },
    "1982": {
      "fn": "Context._msgSender",
      "offset": [
        719,
        729
      ],
      "op": "CALLER",
      "path": "23",
      "statement": 18
    },
    "1983": {
      "branch": 29,
      "fn": "Ownable._checkOwner",
      "offset": [
        1422,
        1445
      ],
      "op": "EQ",
      "path": "6",
      "statement": 19
    },
    "1984": {
      "fn": "Ownable._checkOwner",
      "offset": [
        1414,
        1482
      ],
      "op": "PUSH2",
      "path": "6",
      "value": "0x3FD"
    },
    "1987": {
      "branch": 29,
      "fn": "Ownable._checkOwner",
      "offset": [
        1414,
        1482
      ],
      "op": "JUMPI",
      "path": "6"
    },
    "1988": {
      "fn": "Ownable._checkOwner",
      "offset": [
        1414,
        1482
      ],
      "op": "PUSH1",
      "path": "6",
      "value": "0x40"
    },
    "1990": {
      "fn": "Ownable._checkOwner",
      "offset": [
        1414,
        1482
      ],
      "op": "MLOAD",
      "path": "6"
    },
    "1991": {
      "op": "PUSH3",
      "value": "0x461BCD"
    },
    "1995": {
      "op": "PUSH1",
      "value": "0xE5"
    },
    "1997": {
      "op": "SHL"
    },
    "1998": {
      "fn": "Ownable._checkOwner",
      "offset": [
        1414,
        1482
      ],
      "op": "DUP2",
      "path": "6"
    },
    "1999": {
      "fn": "Ownable._checkOwner",
      "offset": [
        1414,
        1482
      ],
      "op": "MSTORE",
      "path": "6"
    },
    "2000": {
      "op": "PUSH1",
      "value": "0x20"
    },
    "2002": {
      "fn": "Ownable._checkOwner",
      "offset": [
        1414,
        1482
      ],
      "op": "PUSH1",
      "path": "6",
      "value": "0x4"
    },
    "2004": {
      "fn": "Ownable._checkOwner",
      "offset": [
        1414,
        1482
      ],
      "op": "DUP3",
      "path": "6"
    },
    "2005": {
      "fn": "Ownable._checkOwner",
      "offset": [
        1414,
        1482
      ],
      "op": "ADD",
      "path": "6"
    },
    "2006": {
      "op": "DUP2"
    },
    "2007": {
      "op": "SWAP1"
    },
    "2008": {
      "op": "MSTORE"
    },
    "2009": {
      "op": "PUSH1",
      "value": "0x24"
    },
    "2011": {
      "op": "DUP3"
    },
    "2012": {
      "op": "ADD"
    },
    "2013": {
      "op": "MSTORE"
    },
    "2014": {
      "op": "PUSH32",
      "value": "0x4F776E61626C653A2063616C6C6572206973206E6F7420746865206F776E6572"
    },
    "2047": {
      "op": "PUSH1",
      "value": "0x44"
    },
    "2049": {
      "op": "DUP3"
    },
    "2050": {
      "op": "ADD"
    },
    "2051": {
      "op": "MSTORE"
    },
    "2052": {
      "op": "PUSH1",
      "value": "0x64"
    },
    "2054": {
      "op": "ADD"
    },
    "2055": {
      "fn": "Ownable._checkOwner",
      "offset": [
        1414,
        1482
      ],
      "op": "PUSH2",
      "path": "6",
      "value": "0x210"
    },
    "2058": {
      "op": "JUMP"
    },
    "2059": {
      "fn": "Ownable._transferOwnership",
      "offset": [
        2433,
        2620
      ],
      "op": "JUMPDEST",
      "path": "6"
    },
    "2060": {
      "fn": "Ownable._transferOwnership",
      "offset": [
        2506,
        2522
      ],
      "op": "PUSH1",
      "path": "6",
      "value": "0x0"
    },
    "2062": {
      "fn": "Ownable._transferOwnership",
      "offset": [
        2525,
        2531
      ],
      "op": "DUP1",
      "path": "6"
    },
    "2063": {
      "fn": "Ownable._transferOwnership",
      "offset": [
        2525,
        2531
      ],
      "op": "SLOAD",
      "path": "6"
    },
    "2064": {
      "op": "PUSH1",
      "value": "0x1"
    },
    "2066": {
      "op": "PUSH1",
      "value": "0x1"
    },
    "2068": {
      "op": "PUSH1",
      "value": "0xA0"
    },
    "2070": {
      "op": "SHL"
    },
    "2071": {
      "op": "SUB"
    },
    "2072": {
      "fn": "Ownable._transferOwnership",
      "offset": [
        2541,
        2558
      ],
      "op": "DUP4",
      "path": "6",
      "statement": 20
    },
    "2073": {
      "fn": "Ownable._transferOwnership",
      "offset": [
        2541,
        2558
      ],
      "op": "DUP2",
      "path": "6"
    },
    "2074": {
      "fn": "Ownable._transferOwnership",
      "offset": [
        2541,
        2558
      ],
      "op": "AND",
      "path": "6"
    },
    "2075": {
      "op": "PUSH1",
      "value": "0x1"
    },
    "2077": {
      "op": "PUSH1",
      "value": "0x1"
    },
    "2079": {
      "op": "PUSH1",
      "value": "0xA0"
    },
    "2081": {
      "op": "SHL"
    },
    "2082": {
      "op": "SUB"
    },
    "2083": {
      "op": "NOT"
    },
    "2084": {
      "fn": "Ownable._transferOwnership",
      "offset": [
        2541,
        2558
      ],
      "op": "DUP4",
      "path": "6"
    },
    "2085": {
      "fn": "Ownable._transferOwnership",
      "offset": [
        2541,
        2558
      ],
      "op": "AND",
      "path": "6"
    },
    "2086": {
      "fn": "Ownable._transferOwnership",
      "offset": [
        2541,
        2558
      ],
      "op": "DUP2",
      "path": "6"
    },
    "2087": {
      "fn": "Ownable._transferOwnership",
      "offset": [
        2541,
        2558
      ],
      "op": "OR",
      "path": "6"
    },
    "2088": {
      "fn": "Ownable._transferOwnership",
      "offset": [
        2541,
        2558
      ],
      "op": "DUP5",
      "path": "6"
    },
    "2089": {
      "fn": "Ownable._transferOwnership",
      "offset": [
        2541,
        2558
      ],
      "op": "SSTORE",
      "path": "6"
    },
    "2090": {
      "fn": "Ownable._transferOwnership",
      "offset": [
        2573,
        2613
      ],
      "op": "PUSH1",
      "path": "6",
      "statement": 21,
      "value": "0x40"
    },
    "2092": {
      "fn": "Ownable._transferOwnership",
      "offset": [
        2573,
        2613
      ],
      "op": "MLOAD",
      "path": "6"
    },
    "2093": {
      "fn": "Ownable._transferOwnership",
      "offset": [
        2525,
        2531
      ],
      "op": "SWAP2",
      "path": "6"
    },
    "2094": {
      "fn": "Ownable._transferOwnership",
      "offset": [
        2525,
        2531
      ],
      "op": "SWAP1",
      "path": "6"
    },
    "2095": {
      "fn": "Ownable._transferOwnership",
      "offset": [
        2525,
        2531
      ],
      "op": "SWAP3",
      "path": "6"
    },
    "2096": {
      "fn": "Ownable._transferOwnership",
      "offset": [
        2525,
        2531
      ],
      "op": "AND",
      "path": "6"
    },
    "2097": {
      "fn": "Ownable._transferOwnership",
      "offset": [
        2525,
        2531
      ],
      "op": "SWAP3",
      "path": "6"
    },
    "2098": {
      "fn": "Ownable._transferOwnership",
      "offset": [
        2525,
        2531
      ],
      "op": "DUP4",
      "path": "6"
    },
    "2099": {
      "fn": "Ownable._transferOwnership",
      "offset": [
        2525,
        2531
      ],
      "op": "SWAP2",
      "path": "6"
    },
    "2100": {
      "fn": "Ownable._transferOwnership",
      "offset": [
        2573,
        2613
      ],
      "op": "PUSH32",
      "path": "6",
      "value": "0x8BE0079C531659141344CD1FD0A4F28419497F9722A3DAAFE3B4186F6B6457E0"
    },
    "2133": {
      "fn": "Ownable._transferOwnership",
      "offset": [
        2573,
        2613
      ],
      "op": "SWAP2",
      "path": "6"
    },
    "2134": {
      "fn": "Ownable._transferOwnership",
      "offset": [
        2506,
        2522
      ],
      "op": "SWAP1",
      "path": "6"
    },
    "2135": {
      "fn": "Ownable._transferOwnership",
      "offset": [
        2573,
        2613
      ],
      "op": "LOG3",
      "path": "6"
    },
    "2136": {
      "fn": "Ownable._transferOwnership",
      "offset": [
        2496,
        2620
      ],
      "op": "POP",
      "path": "6"
    },
    "2137": {
      "fn": "Ownable._transferOwnership",
      "offset": [
        2433,
        2620
      ],
      "op": "POP",
      "path": "6"
    },
    "2138": {
      "fn": "Ownable._transferOwnership",
      "jump": "o",
      "offset": [
        2433,
        2620
      ],
      "op": "JUMP",
      "path": "6"
    },
    "2139": {
      "op": "JUMPDEST"
    },
    "2140": {
      "op": "PUSH1",
      "value": "0x1"
    },
    "2142": {
      "op": "PUSH1",
      "value": "0x1"
    },
    "2144": {
      "op": "PUSH1",
      "value": "0xA0"
    },
    "2146": {
      "op": "SHL"
    },
    "2147": {
      "op": "SUB"
    },
    "2148": {
      "op": "DUP2"
    },
    "2149": {
      "op": "AND"
    },
    "2150": {
      "op": "DUP2"
    },
    "2151": {
      "op": "EQ"
    },
    "2152": {
      "op": "PUSH2",
      "value": "0x7AE"
    },
    "2155": {
      "op": "JUMPI"
    },
    "2156": {
      "op": "PUSH1",
      "value": "0x0"
    },
    "2158": {
      "op": "DUP1"
    },
    "2159": {
      "op": "REVERT"
    },
    "2160": {
      "op": "JUMPDEST"
    },
    "2161": {
      "op": "PUSH1",
      "value": "0x0"
    },
    "2163": {
      "op": "PUSH1",
      "value": "0x20"
    },
    "2165": {
      "op": "DUP3"
    },
    "2166": {
      "op": "DUP5"
    },
    "2167": {
      "op": "SUB"
    },
    "2168": {
      "op": "SLT"
    },
    "2169": {
      "op": "ISZERO"
    },
    "2170": {
      "op": "PUSH2",
      "value": "0x882"
    },
    "2173": {
      "op": "JUMPI"
    },
    "2174": {
      "op": "PUSH1",
      "value": "0x0"
    },
    "2176": {
      "op": "DUP1"
    },
    "2177": {
      "op": "REVERT"
    },
    "2178": {
      "op": "JUMPDEST"
    },
    "2179": {
      "op": "DUP2"
    },
    "2180": {
      "op": "CALLDATALOAD"
    },
    "2181": {
      "op": "PUSH2",
      "value": "0x88D"
    },
    "2184": {
      "op": "DUP2"
    },
    "2185": {
      "op": "PUSH2",
      "value": "0x85B"
    },
    "2188": {
      "jump": "i",
      "op": "JUMP"
    },
    "2189": {
      "op": "JUMPDEST"
    },
    "2190": {
      "op": "SWAP4"
    },
    "2191": {
      "op": "SWAP3"
    },
    "2192": {
      "op": "POP"
    },
    "2193": {
      "op": "POP"
    },
    "2194": {
      "op": "POP"
    },
    "2195": {
      "jump": "o",
      "op": "JUMP"
    },
    "2196": {
      "op": "JUMPDEST"
    },
    "2197": {
      "op": "PUSH1",
      "value": "0x0"
    },
    "2199": {
      "op": "JUMPDEST"
    },
    "2200": {
      "op": "DUP4"
    },
    "2201": {
      "op": "DUP2"
    },
    "2202": {
      "op": "LT"
    },
    "2203": {
      "op": "ISZERO"
    },
    "2204": {
      "op": "PUSH2",
      "value": "0x8AF"
    },
    "2207": {
      "op": "JUMPI"
    },
    "2208": {
      "op": "DUP2"
    },
    "2209": {
      "op": "DUP2"
    },
    "2210": {
      "op": "ADD"
    },
    "2211": {
      "op": "MLOAD"
    },
    "2212": {
      "op": "DUP4"
    },
    "2213": {
      "op": "DUP3"
    },
    "2214": {
      "op": "ADD"
    },
    "2215": {
      "op": "MSTORE"
    },
    "2216": {
      "op": "PUSH1",
      "value": "0x20"
    },
    "2218": {
      "op": "ADD"
    },
    "2219": {
      "op": "PUSH2",
      "value": "0x897"
    },
    "2222": {
      "op": "JUMP"
    },
    "2223": {
      "op": "JUMPDEST"
    },
    "2224": {
      "op": "POP"
    },
    "2225": {
      "op": "POP"
    },
    "2226": {
      "op": "PUSH1",
      "value": "0x0"
    },
    "2228": {
      "op": "SWAP2"
    },
    "2229": {
      "op": "ADD"
    },
    "2230": {
      "op": "MSTORE"
    },
    "2231": {
      "jump": "o",
      "op": "JUMP"
    },
    "2232": {
      "op": "JUMPDEST"
    },
    "2233": {
      "op": "PUSH1",
      "value": "0x0"
    },
    "2235": {
      "op": "DUP2"
    },
    "2236": {
      "op": "MLOAD"
    },
    "2237": {
      "op": "DUP1"
    },
    "2238": {
      "op": "DUP5"
    },
    "2239": {
      "op": "MSTORE"
    },
    "2240": {
      "op": "PUSH2",
      "value": "0x8D0"
    },
    "2243": {
      "op": "DUP2"
    },
    "2244": {
      "op": "PUSH1",
      "value": "0x20"
    },
    "2246": {
      "op": "DUP7"
    },
    "2247": {
      "op": "ADD"
    },
    "2248": {
      "op": "PUSH1",
      "value": "0x20"
    },
    "2250": {
      "op": "DUP7"
    },
    "2251": {
      "op": "ADD"
    },
    "2252": {
      "op": "PUSH2",
      "value": "0x894"
    },
    "2255": {
      "jump": "i",
      "op": "JUMP"
    },
    "2256": {
      "op": "JUMPDEST"
    },
    "2257": {
      "op": "PUSH1",
      "value": "0x1F"
    },
    "2259": {
      "op": "ADD"
    },
    "2260": {
      "op": "PUSH1",
      "value": "0x1F"
    },
    "2262": {
      "op": "NOT"
    },
    "2263": {
      "op": "AND"
    },
    "2264": {
      "op": "SWAP3"
    },
    "2265": {
      "op": "SWAP1"
    },
    "2266": {
      "op": "SWAP3"
    },
    "2267": {
      "op": "ADD"
    },
    "2268": {
      "op": "PUSH1",
      "value": "0x20"
    },
    "2270": {
      "op": "ADD"
    },
    "2271": {
      "op": "SWAP3"
    },
    "2272": {
      "op": "SWAP2"
    },
    "2273": {
      "op": "POP"
    },
    "2274": {
      "op": "POP"
    },
    "2275": {
      "jump": "o",
      "op": "JUMP"
    },
    "2276": {
      "op": "JUMPDEST"
    },
    "2277": {
      "op": "PUSH1",
      "value": "0x20"
    },
    "2279": {
      "op": "DUP2"
    },
    "2280": {
      "op": "MSTORE"
    },
    "2281": {
      "op": "PUSH1",
      "value": "0x0"
    },
    "2283": {
      "op": "PUSH2",
      "value": "0x88D"
    },
    "2286": {
      "op": "PUSH1",
      "value": "0x20"
    },
    "2288": {
      "op": "DUP4"
    },
    "2289": {
      "op": "ADD"
    },
    "2290": {
      "op": "DUP5"
    },
    "2291": {
      "op": "PUSH2",
      "value": "0x8B8"
    },
    "2294": {
      "jump": "i",
      "op": "JUMP"
    },
    "2295": {
      "op": "JUMPDEST"
    },
    "2296": {
      "op": "PUSH1",
      "value": "0x0"
    },
    "2298": {
      "op": "DUP1"
    },
    "2299": {
      "op": "PUSH1",
      "value": "0x0"
    },
    "2301": {
      "op": "PUSH1",
      "value": "0x60"
    },
    "2303": {
      "op": "DUP5"
    },
    "2304": {
      "op": "DUP7"
    },
    "2305": {
      "op": "SUB"
    },
    "2306": {
      "op": "SLT"
    },
    "2307": {
      "op": "ISZERO"
    },
    "2308": {
      "op": "PUSH2",
      "value": "0x90C"
    },
    "2311": {
      "op": "JUMPI"
    },
    "2312": {
      "op": "PUSH1",
      "value": "0x0"
    },
    "2314": {
      "op": "DUP1"
    },
    "2315": {
      "op": "REVERT"
    },
    "2316": {
      "op": "JUMPDEST"
    },
    "2317": {
      "op": "DUP4"
    },
    "2318": {
      "op": "CALLDATALOAD"
    },
    "2319": {
      "op": "PUSH2",
      "value": "0x917"
    },
    "2322": {
      "op": "DUP2"
    },
    "2323": {
      "op": "PUSH2",
      "value": "0x85B"
    },
    "2326": {
      "jump": "i",
      "op": "JUMP"
    },
    "2327": {
      "op": "JUMPDEST"
    },
    "2328": {
      "op": "SWAP3"
    },
    "2329": {
      "op": "POP"
    },
    "2330": {
      "op": "PUSH1",
      "value": "0x20"
    },
    "2332": {
      "op": "DUP5"
    },
    "2333": {
      "op": "ADD"
    },
    "2334": {
      "op": "CALLDATALOAD"
    },
    "2335": {
      "op": "PUSH2",
      "value": "0x927"
    },
    "2338": {
      "op": "DUP2"
    },
    "2339": {
      "op": "PUSH2",
      "value": "0x85B"
    },
    "2342": {
      "jump": "i",
      "op": "JUMP"
    },
    "2343": {
      "op": "JUMPDEST"
    },
    "2344": {
      "op": "SWAP2"
    },
    "2345": {
      "op": "POP"
    },
    "2346": {
      "op": "PUSH1",
      "value": "0x40"
    },
    "2348": {
      "op": "DUP5"
    },
    "2349": {
      "op": "ADD"
    },
    "2350": {
      "op": "CALLDATALOAD"
    },
    "2351": {
      "op": "PUSH2",
      "value": "0x937"
    },
    "2354": {
      "op": "DUP2"
    },
    "2355": {
      "op": "PUSH2",
      "value": "0x85B"
    },
    "2358": {
      "jump": "i",
      "op": "JUMP"
    },
    "2359": {
      "op": "JUMPDEST"
    },
    "2360": {
      "op": "DUP1"
    },
    "2361": {
      "op": "SWAP2"
    },
    "2362": {
      "op": "POP"
    },
    "2363": {
      "op": "POP"
    },
    "2364": {
      "op": "SWAP3"
    },
    "2365": {
      "op": "POP"
    },
    "2366": {
      "op": "SWAP3"
    },
    "2367": {
      "op": "POP"
    },
    "2368": {
      "op": "SWAP3"
    },
    "2369": {
      "jump": "o",
      "op": "JUMP"
    },
    "2370": {
      "op": "JUMPDEST"
    },
    "2371": {
      "op": "PUSH1",
      "value": "0x0"
    },
    "2373": {
      "op": "DUP3"
    },
    "2374": {
      "op": "MLOAD"
    },
    "2375": {
      "op": "PUSH2",
      "value": "0x954"
    },
    "2378": {
      "op": "DUP2"
    },
    "2379": {
      "op": "DUP5"
    },
    "2380": {
      "op": "PUSH1",
      "value": "0x20"
    },
    "2382": {
      "op": "DUP8"
    },
    "2383": {
      "op": "ADD"
    },
    "2384": {
      "op": "PUSH2",
      "value": "0x894"
    },
    "2387": {
      "jump": "i",
      "op": "JUMP"
    },
    "2388": {
      "op": "JUMPDEST"
    },
    "2389": {
      "op": "SWAP2"
    },
    "2390": {
      "op": "SWAP1"
    },
    "2391": {
      "op": "SWAP2"
    },
    "2392": {
      "op": "ADD"
    },
    "2393": {
      "op": "SWAP3"
    },
    "2394": {
      "op": "SWAP2"
    },
    "2395": {
      "op": "POP"
    },
    "2396": {
      "op": "POP"
    },
    "2397": {
      "jump": "o",
      "op": "JUMP"
    },
    "2398": {
      "op": "JUMPDEST"
    },
    "2399": {
      "op": "PUSH1",
      "value": "0x1"
    },
    "2401": {
      "op": "PUSH1",
      "value": "0x1"
    },
    "2403": {
      "op": "PUSH1",
      "value": "0xA0"
    },
    "2405": {
      "op": "SHL"
    },
    "2406": {
      "op": "SUB"
    },
    "2407": {
      "op": "DUP4"
    },
    "2408": {
      "op": "AND"
    },
    "2409": {
      "op": "DUP2"
    },
    "2410": {
      "op": "MSTORE"
    },
    "2411": {
      "op": "PUSH1",
      "value": "0x40"
    },
    "2413": {
      "op": "PUSH1",
      "value": "0x20"
    },
    "2415": {
      "op": "DUP3"
    },
    "2416": {
      "op": "ADD"
    },
    "2417": {
      "op": "DUP2"
    },
    "2418": {
      "op": "SWAP1"
    },
    "2419": {
      "op": "MSTORE"
    },
    "2420": {
      "op": "PUSH1",
      "value": "0x0"
    },
    "2422": {
      "op": "SWAP1"
    },
    "2423": {
      "op": "PUSH2",
      "value": "0x982"
    },
    "2426": {
      "op": "SWAP1"
    },
    "2427": {
      "op": "DUP4"
    },
    "2428": {
      "op": "ADD"
    },
    "2429": {
      "op": "DUP5"
    },
    "2430": {
      "op": "PUSH2",
      "value": "0x8B8"
    },
    "2433": {
      "jump": "i",
      "op": "JUMP"
    },
    "2434": {
      "op": "JUMPDEST"
    },
    "2435": {
      "op": "SWAP5"
    },
    "2436": {
      "op": "SWAP4"
    },
    "2437": {
      "op": "POP"
    },
    "2438": {
      "op": "POP"
    },
    "2439": {
      "op": "POP"
    },
    "2440": {
      "op": "POP"
    },
    "2441": {
      "jump": "o",
      "op": "JUMP"
    },
    "2442": {
      "op": "JUMPDEST"
    },
    "2443": {
      "op": "PUSH1",
      "value": "0x0"
    },
    "2445": {
      "op": "PUSH1",
      "value": "0x20"
    },
    "2447": {
      "op": "DUP3"
    },
    "2448": {
      "op": "DUP5"
    },
    "2449": {
      "op": "SUB"
    },
    "2450": {
      "op": "SLT"
    },
    "2451": {
      "op": "ISZERO"
    },
    "2452": {
      "op": "PUSH2",
      "value": "0x99C"
    },
    "2455": {
      "op": "JUMPI"
    },
    "2456": {
      "op": "PUSH1",
      "value": "0x0"
    },
    "2458": {
      "op": "DUP1"
    },
    "2459": {
      "op": "REVERT"
    },
    "2460": {
      "op": "JUMPDEST"
    },
    "2461": {
      "op": "DUP2"
    },
    "2462": {
      "op": "MLOAD"
    },
    "2463": {
      "op": "PUSH2",
      "value": "0x88D"
    },
    "2466": {
      "op": "DUP2"
    },
    "2467": {
      "op": "PUSH2",
      "value": "0x85B"
    },
    "2470": {
      "jump": "i",
      "op": "JUMP"
    }
  },
  "sha1": "7857bb7ffa66284b121ce9aba1925fd9275c2e58",
  "source": "// SPDX-License-Identifier: Apache-2.0\npragma solidity ^0.8.19;\n\nimport {Ownable} from \"@openzeppelin/contracts/access/Ownable.sol\";\nimport {TransparentUpgradeableProxy} from \"@openzeppelin/contracts/proxy/transparent/TransparentUpgradeableProxy.sol\";\n\nimport {VersionedOwnable} from \"./VersionedOwnable.sol\";\n\ncontract OwnableProxyAdmin is\n    Ownable\n{\n    string public constant ACTIVATE_SIGNATURE = \"activate(address,address)\";\n    string public constant ACTIVATE_AND_SET_OWNER_SIGNATURE = \"activateAndSetOwner(address,address,address)\";\n\n    VersionedOwnable private _implementation;\n    TransparentUpgradeableProxy private _proxy;\n\n    constructor(\n        VersionedOwnable implementation\n    )\n        Ownable()\n    {\n        require(address(implementation) != address(0), \"ERROR:PXA-001:IMPLEMENTATION_ZERO\");\n        _implementation = implementation;\n    }\n\n\n    function setProxy(TransparentUpgradeableProxy proxy)\n        external\n        onlyOwner\n    {\n        require(address(_proxy) == address(0), \"ERROR:PXA-010:PROXY_SET_ALREADY\");\n        require(address(proxy) != address(0), \"ERROR:PXA-011:PROXY_ZERO\");\n        _proxy = proxy;\n    }\n\n\n    function getProxyCallData(\n        address implementation,\n        address implementationOwner,\n        address activatedBy\n    )\n        external\n        pure\n        returns(bytes memory data)\n    {\n        return abi.encodeWithSignature(\n            ACTIVATE_AND_SET_OWNER_SIGNATURE,\n            implementation,\n            implementationOwner,\n            activatedBy);\n    }\n\n\n    function upgrade(VersionedOwnable newImplementation) \n        external\n        onlyOwner\n    {\n        require(address(_proxy) != address(0), \"ERROR:PXA-020:PROXY_NOT_SET\");\n        require(address(newImplementation) != address(0), \"ERROR:PXA-021:IMPLEMENTATION_ZERO\");\n        require(address(newImplementation) != address(_implementation), \"ERROR:PXA-022:IMPLEMENTATION_NOT_NEW\");\n\n        address activatedBy = msg.sender;\n    \n        _implementation = newImplementation;\n        _proxy.upgradeToAndCall(\n            address(newImplementation), \n            abi.encodeWithSignature(\n                ACTIVATE_SIGNATURE,\n                address(newImplementation),\n                activatedBy)\n        );\n    }\n\n\n    function transferAdmin(address newAdmin)\n        external\n        onlyOwner\n    {\n        require(newAdmin != address(0), \"ERROR:PXA-030:PROXY_ADMIN_ZERO\");\n        require(newAdmin != address(_implementation.owner()), \"ERROR:PXA-031:PROXY_ADMIN_SAME_AS_IMPLEMENTATION_OWNER\");\n        _proxy.changeAdmin(newAdmin);\n    }\n\n\n    function getImplementation() external view returns(VersionedOwnable) {\n        return _implementation;\n    }\n\n\n    function getProxy() external view returns(TransparentUpgradeableProxy) {\n        return _proxy;\n    }\n}\n",
  "sourceMap": "311:2500:46:-:0;;;642:223;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;936:32:6;719:10:23;936:18:6;:32::i;:::-;-1:-1:-1;;;;;741:37:46;::::1;733:83;;;::::0;-1:-1:-1;;;733:83:46;;536:2:67;733:83:46::1;::::0;::::1;518:21:67::0;575:2;555:18;;;548:30;614:34;594:18;;;587:62;-1:-1:-1;;;665:18:67;;;658:31;706:19;;733:83:46::1;;;;;;;;826:15;:32:::0;;-1:-1:-1;;;;;;826:32:46::1;-1:-1:-1::0;;;;;826:32:46;;;::::1;::::0;;;::::1;::::0;;311:2500;;2433:187:6;2506:16;2525:6;;-1:-1:-1;;;;;2541:17:6;;;-1:-1:-1;;;;;;2541:17:6;;;;;;2573:40;;2525:6;;;;;;;2573:40;;2506:16;2573:40;2496:124;2433:187;:::o;14:315:67:-;109:6;162:2;150:9;141:7;137:23;133:32;130:52;;;178:1;175;168:12;130:52;204:16;;-1:-1:-1;;;;;249:31:67;;239:42;;229:70;;295:1;292;285:12;229:70;318:5;14:315;-1:-1:-1;;;14:315:67:o;334:397::-;311:2500:46;;;;;;",
  "sourcePath": "contracts/shared/OwnableProxyAdmin.sol",
  "type": "contract"
}