{
  "abi": [
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": false,
          "internalType": "uint8",
          "name": "version",
          "type": "uint8"
        }
      ],
      "name": "Initialized",
      "type": "event"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": false,
          "internalType": "uint256",
          "name": "id",
          "type": "uint256"
        }
      ],
      "name": "LogComponentApproved",
      "type": "event"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": false,
          "internalType": "uint256",
          "name": "id",
          "type": "uint256"
        }
      ],
      "name": "LogComponentArchived",
      "type": "event"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": false,
          "internalType": "uint256",
          "name": "id",
          "type": "uint256"
        }
      ],
      "name": "LogComponentDeclined",
      "type": "event"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": false,
          "internalType": "uint256",
          "name": "id",
          "type": "uint256"
        }
      ],
      "name": "LogComponentPaused",
      "type": "event"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": false,
          "internalType": "bytes32",
          "name": "componentName",
          "type": "bytes32"
        },
        {
          "indexed": false,
          "internalType": "enum IComponent.ComponentType",
          "name": "componentType",
          "type": "uint8"
        },
        {
          "indexed": false,
          "internalType": "address",
          "name": "componentAddress",
          "type": "address"
        },
        {
          "indexed": false,
          "internalType": "uint256",
          "name": "id",
          "type": "uint256"
        }
      ],
      "name": "LogComponentProposed",
      "type": "event"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": false,
          "internalType": "uint256",
          "name": "id",
          "type": "uint256"
        }
      ],
      "name": "LogComponentResumed",
      "type": "event"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": false,
          "internalType": "uint256",
          "name": "id",
          "type": "uint256"
        },
        {
          "indexed": false,
          "internalType": "enum IComponent.ComponentState",
          "name": "stateOld",
          "type": "uint8"
        },
        {
          "indexed": false,
          "internalType": "enum IComponent.ComponentState",
          "name": "stateNew",
          "type": "uint8"
        }
      ],
      "name": "LogComponentStateChanged",
      "type": "event"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": false,
          "internalType": "uint256",
          "name": "id",
          "type": "uint256"
        }
      ],
      "name": "LogComponentSuspended",
      "type": "event"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": false,
          "internalType": "uint256",
          "name": "id",
          "type": "uint256"
        }
      ],
      "name": "LogComponentUnpaused",
      "type": "event"
    },
    {
      "inputs": [
        {
          "internalType": "uint256",
          "name": "id",
          "type": "uint256"
        }
      ],
      "name": "approve",
      "outputs": [],
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "uint256",
          "name": "id",
          "type": "uint256"
        }
      ],
      "name": "archiveFromComponentOwner",
      "outputs": [],
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "uint256",
          "name": "id",
          "type": "uint256"
        }
      ],
      "name": "archiveFromInstanceOperator",
      "outputs": [],
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "components",
      "outputs": [
        {
          "internalType": "uint256",
          "name": "count",
          "type": "uint256"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "uint256",
          "name": "id",
          "type": "uint256"
        }
      ],
      "name": "decline",
      "outputs": [],
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "uint256",
          "name": "id",
          "type": "uint256"
        }
      ],
      "name": "exists",
      "outputs": [
        {
          "internalType": "bool",
          "name": "",
          "type": "bool"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "uint256",
          "name": "id",
          "type": "uint256"
        }
      ],
      "name": "getComponent",
      "outputs": [
        {
          "internalType": "contract IComponent",
          "name": "component",
          "type": "address"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "address",
          "name": "componentAddress",
          "type": "address"
        }
      ],
      "name": "getComponentId",
      "outputs": [
        {
          "internalType": "uint256",
          "name": "id",
          "type": "uint256"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "uint256",
          "name": "id",
          "type": "uint256"
        }
      ],
      "name": "getComponentState",
      "outputs": [
        {
          "internalType": "enum IComponent.ComponentState",
          "name": "componentState",
          "type": "uint8"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "uint256",
          "name": "id",
          "type": "uint256"
        }
      ],
      "name": "getComponentType",
      "outputs": [
        {
          "internalType": "enum IComponent.ComponentType",
          "name": "componentType",
          "type": "uint8"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "uint256",
          "name": "idx",
          "type": "uint256"
        }
      ],
      "name": "getOracleId",
      "outputs": [
        {
          "internalType": "uint256",
          "name": "oracleId",
          "type": "uint256"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "uint256",
          "name": "productId",
          "type": "uint256"
        }
      ],
      "name": "getPolicyFlow",
      "outputs": [
        {
          "internalType": "address",
          "name": "_policyFlow",
          "type": "address"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "uint256",
          "name": "idx",
          "type": "uint256"
        }
      ],
      "name": "getProductId",
      "outputs": [
        {
          "internalType": "uint256",
          "name": "productId",
          "type": "uint256"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "enum IComponent.ComponentType",
          "name": "componentType",
          "type": "uint8"
        }
      ],
      "name": "getRequiredRole",
      "outputs": [
        {
          "internalType": "bytes32",
          "name": "",
          "type": "bytes32"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "uint256",
          "name": "idx",
          "type": "uint256"
        }
      ],
      "name": "getRiskpoolId",
      "outputs": [
        {
          "internalType": "uint256",
          "name": "riskpoolId",
          "type": "uint256"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "address",
          "name": "registry",
          "type": "address"
        }
      ],
      "name": "initialize",
      "outputs": [],
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "uint256",
          "name": "id",
          "type": "uint256"
        }
      ],
      "name": "isOracle",
      "outputs": [
        {
          "internalType": "bool",
          "name": "",
          "type": "bool"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "uint256",
          "name": "id",
          "type": "uint256"
        }
      ],
      "name": "isProduct",
      "outputs": [
        {
          "internalType": "bool",
          "name": "",
          "type": "bool"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "uint256",
          "name": "id",
          "type": "uint256"
        }
      ],
      "name": "isRiskpool",
      "outputs": [
        {
          "internalType": "bool",
          "name": "",
          "type": "bool"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "oracles",
      "outputs": [
        {
          "internalType": "uint256",
          "name": "count",
          "type": "uint256"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "uint256",
          "name": "id",
          "type": "uint256"
        }
      ],
      "name": "pause",
      "outputs": [],
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "products",
      "outputs": [
        {
          "internalType": "uint256",
          "name": "count",
          "type": "uint256"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "contract IComponent",
          "name": "component",
          "type": "address"
        }
      ],
      "name": "propose",
      "outputs": [],
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "uint256",
          "name": "id",
          "type": "uint256"
        }
      ],
      "name": "resume",
      "outputs": [],
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "riskpools",
      "outputs": [
        {
          "internalType": "uint256",
          "name": "count",
          "type": "uint256"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "uint256",
          "name": "id",
          "type": "uint256"
        }
      ],
      "name": "suspend",
      "outputs": [],
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "uint256",
          "name": "id",
          "type": "uint256"
        }
      ],
      "name": "unpause",
      "outputs": [],
      "stateMutability": "nonpayable",
      "type": "function"
    }
  ],
  "allSourcePaths": {
    "10": "/home/vscode/.brownie/packages/OpenZeppelin/openzeppelin-contracts@4.7.3/contracts/proxy/utils/Initializable.sol",
    "21": "/home/vscode/.brownie/packages/OpenZeppelin/openzeppelin-contracts@4.7.3/contracts/utils/Address.sol",
    "22": "/home/vscode/.brownie/packages/OpenZeppelin/openzeppelin-contracts@4.7.3/contracts/utils/Context.sol",
    "27": "/home/vscode/.brownie/packages/OpenZeppelin/openzeppelin-contracts@4.7.3/contracts/utils/structs/EnumerableSet.sol",
    "30": "/home/vscode/.brownie/packages/etherisc/gif-interface@3b0002a/contracts/components/IComponent.sol",
    "32": "/home/vscode/.brownie/packages/etherisc/gif-interface@3b0002a/contracts/components/IProduct.sol",
    "37": "/home/vscode/.brownie/packages/etherisc/gif-interface@3b0002a/contracts/modules/IAccess.sol",
    "39": "/home/vscode/.brownie/packages/etherisc/gif-interface@3b0002a/contracts/modules/IComponentEvents.sol",
    "44": "/home/vscode/.brownie/packages/etherisc/gif-interface@3b0002a/contracts/modules/IRegistry.sol",
    "75": "contracts/modules/ComponentController.sol",
    "88": "contracts/shared/CoreController.sol"
  },
  "ast": {
    "absolutePath": "contracts/modules/ComponentController.sol",
    "exportedSymbols": {
      "Address": [
        26374
      ],
      "ComponentController": [
        6504
      ],
      "Context": [
        24074
      ],
      "CoreController": [
        14924
      ],
      "EnumerableSet": [
        19390
      ],
      "IAccess": [
        21938
      ],
      "IBundle": [
        20491
      ],
      "IComponent": [
        22099
      ],
      "IComponentEvents": [
        22419
      ],
      "IOracle": [
        22133
      ],
      "IPolicy": [
        20837
      ],
      "IProduct": [
        21995
      ],
      "IRegistry": [
        21750
      ],
      "IRiskpool": [
        22366
      ],
      "Initializable": [
        18432
      ]
    },
    "id": 6505,
    "license": "Apache-2.0",
    "nodeType": "SourceUnit",
    "nodes": [
      {
        "id": 5506,
        "literals": [
          "solidity",
          "0.8",
          ".2"
        ],
        "nodeType": "PragmaDirective",
        "src": "39:22:75"
      },
      {
        "absolutePath": "contracts/shared/CoreController.sol",
        "file": "../shared/CoreController.sol",
        "id": 5507,
        "nameLocation": "-1:-1:-1",
        "nodeType": "ImportDirective",
        "scope": 6505,
        "sourceUnit": 14925,
        "src": "63:38:75",
        "symbolAliases": [],
        "unitAlias": ""
      },
      {
        "absolutePath": "/home/vscode/.brownie/packages/etherisc/gif-interface@3b0002a/contracts/components/IComponent.sol",
        "file": "@etherisc/gif-interface/contracts/components/IComponent.sol",
        "id": 5508,
        "nameLocation": "-1:-1:-1",
        "nodeType": "ImportDirective",
        "scope": 6505,
        "sourceUnit": 22100,
        "src": "102:69:75",
        "symbolAliases": [],
        "unitAlias": ""
      },
      {
        "absolutePath": "/home/vscode/.brownie/packages/etherisc/gif-interface@3b0002a/contracts/components/IOracle.sol",
        "file": "@etherisc/gif-interface/contracts/components/IOracle.sol",
        "id": 5509,
        "nameLocation": "-1:-1:-1",
        "nodeType": "ImportDirective",
        "scope": 6505,
        "sourceUnit": 22134,
        "src": "172:66:75",
        "symbolAliases": [],
        "unitAlias": ""
      },
      {
        "absolutePath": "/home/vscode/.brownie/packages/etherisc/gif-interface@3b0002a/contracts/components/IProduct.sol",
        "file": "@etherisc/gif-interface/contracts/components/IProduct.sol",
        "id": 5510,
        "nameLocation": "-1:-1:-1",
        "nodeType": "ImportDirective",
        "scope": 6505,
        "sourceUnit": 21996,
        "src": "239:67:75",
        "symbolAliases": [],
        "unitAlias": ""
      },
      {
        "absolutePath": "/home/vscode/.brownie/packages/etherisc/gif-interface@3b0002a/contracts/components/IRiskpool.sol",
        "file": "@etherisc/gif-interface/contracts/components/IRiskpool.sol",
        "id": 5511,
        "nameLocation": "-1:-1:-1",
        "nodeType": "ImportDirective",
        "scope": 6505,
        "sourceUnit": 22367,
        "src": "307:68:75",
        "symbolAliases": [],
        "unitAlias": ""
      },
      {
        "absolutePath": "/home/vscode/.brownie/packages/etherisc/gif-interface@3b0002a/contracts/modules/IComponentEvents.sol",
        "file": "@etherisc/gif-interface/contracts/modules/IComponentEvents.sol",
        "id": 5512,
        "nameLocation": "-1:-1:-1",
        "nodeType": "ImportDirective",
        "scope": 6505,
        "sourceUnit": 22420,
        "src": "376:72:75",
        "symbolAliases": [],
        "unitAlias": ""
      },
      {
        "absolutePath": "/home/vscode/.brownie/packages/OpenZeppelin/openzeppelin-contracts@4.7.3/contracts/utils/structs/EnumerableSet.sol",
        "file": "@openzeppelin/contracts/utils/structs/EnumerableSet.sol",
        "id": 5513,
        "nameLocation": "-1:-1:-1",
        "nodeType": "ImportDirective",
        "scope": 6505,
        "sourceUnit": 19391,
        "src": "449:65:75",
        "symbolAliases": [],
        "unitAlias": ""
      },
      {
        "abstract": false,
        "baseContracts": [
          {
            "baseName": {
              "id": 5514,
              "name": "IComponentEvents",
              "nodeType": "IdentifierPath",
              "referencedDeclaration": 22419,
              "src": "552:16:75"
            },
            "id": 5515,
            "nodeType": "InheritanceSpecifier",
            "src": "552:16:75"
          },
          {
            "baseName": {
              "id": 5516,
              "name": "CoreController",
              "nodeType": "IdentifierPath",
              "referencedDeclaration": 14924,
              "src": "574:14:75"
            },
            "id": 5517,
            "nodeType": "InheritanceSpecifier",
            "src": "574:14:75"
          }
        ],
        "contractDependencies": [
          14924,
          18432,
          22419,
          24074
        ],
        "contractKind": "contract",
        "fullyImplemented": true,
        "id": 6504,
        "linearizedBaseContracts": [
          6504,
          14924,
          18432,
          24074,
          22419
        ],
        "name": "ComponentController",
        "nameLocation": "525:19:75",
        "nodeType": "ContractDefinition",
        "nodes": [
          {
            "id": 5521,
            "libraryName": {
              "id": 5518,
              "name": "EnumerableSet",
              "nodeType": "IdentifierPath",
              "referencedDeclaration": 19390,
              "src": "603:13:75"
            },
            "nodeType": "UsingForDirective",
            "src": "597:46:75",
            "typeName": {
              "id": 5520,
              "nodeType": "UserDefinedTypeName",
              "pathNode": {
                "id": 5519,
                "name": "EnumerableSet.UintSet",
                "nodeType": "IdentifierPath",
                "referencedDeclaration": 19260,
                "src": "621:21:75"
              },
              "referencedDeclaration": 19260,
              "src": "621:21:75",
              "typeDescriptions": {
                "typeIdentifier": "t_struct$_UintSet_$19260_storage_ptr",
                "typeString": "struct EnumerableSet.UintSet"
              }
            }
          },
          {
            "constant": false,
            "id": 5526,
            "mutability": "mutable",
            "name": "_componentById",
            "nameLocation": "688:14:75",
            "nodeType": "VariableDeclaration",
            "scope": 6504,
            "src": "649:53:75",
            "stateVariable": true,
            "storageLocation": "default",
            "typeDescriptions": {
              "typeIdentifier": "t_mapping$_t_uint256_$_t_contract$_IComponent_$22099_$",
              "typeString": "mapping(uint256 => contract IComponent)"
            },
            "typeName": {
              "id": 5525,
              "keyType": {
                "id": 5522,
                "name": "uint256",
                "nodeType": "ElementaryTypeName",
                "src": "657:7:75",
                "typeDescriptions": {
                  "typeIdentifier": "t_uint256",
                  "typeString": "uint256"
                }
              },
              "nodeType": "Mapping",
              "src": "649:30:75",
              "typeDescriptions": {
                "typeIdentifier": "t_mapping$_t_uint256_$_t_contract$_IComponent_$22099_$",
                "typeString": "mapping(uint256 => contract IComponent)"
              },
              "valueType": {
                "id": 5524,
                "nodeType": "UserDefinedTypeName",
                "pathNode": {
                  "id": 5523,
                  "name": "IComponent",
                  "nodeType": "IdentifierPath",
                  "referencedDeclaration": 22099,
                  "src": "668:10:75"
                },
                "referencedDeclaration": 22099,
                "src": "668:10:75",
                "typeDescriptions": {
                  "typeIdentifier": "t_contract$_IComponent_$22099",
                  "typeString": "contract IComponent"
                }
              }
            },
            "visibility": "private"
          },
          {
            "constant": false,
            "id": 5530,
            "mutability": "mutable",
            "name": "_componentIdByName",
            "nameLocation": "744:18:75",
            "nodeType": "VariableDeclaration",
            "scope": 6504,
            "src": "708:54:75",
            "stateVariable": true,
            "storageLocation": "default",
            "typeDescriptions": {
              "typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$",
              "typeString": "mapping(bytes32 => uint256)"
            },
            "typeName": {
              "id": 5529,
              "keyType": {
                "id": 5527,
                "name": "bytes32",
                "nodeType": "ElementaryTypeName",
                "src": "716:7:75",
                "typeDescriptions": {
                  "typeIdentifier": "t_bytes32",
                  "typeString": "bytes32"
                }
              },
              "nodeType": "Mapping",
              "src": "708:27:75",
              "typeDescriptions": {
                "typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$",
                "typeString": "mapping(bytes32 => uint256)"
              },
              "valueType": {
                "id": 5528,
                "name": "uint256",
                "nodeType": "ElementaryTypeName",
                "src": "727:7:75",
                "typeDescriptions": {
                  "typeIdentifier": "t_uint256",
                  "typeString": "uint256"
                }
              }
            },
            "visibility": "private"
          },
          {
            "constant": false,
            "id": 5534,
            "mutability": "mutable",
            "name": "_componentIdByAddress",
            "nameLocation": "804:21:75",
            "nodeType": "VariableDeclaration",
            "scope": 6504,
            "src": "768:57:75",
            "stateVariable": true,
            "storageLocation": "default",
            "typeDescriptions": {
              "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$",
              "typeString": "mapping(address => uint256)"
            },
            "typeName": {
              "id": 5533,
              "keyType": {
                "id": 5531,
                "name": "address",
                "nodeType": "ElementaryTypeName",
                "src": "776:7:75",
                "typeDescriptions": {
                  "typeIdentifier": "t_address",
                  "typeString": "address"
                }
              },
              "nodeType": "Mapping",
              "src": "768:27:75",
              "typeDescriptions": {
                "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$",
                "typeString": "mapping(address => uint256)"
              },
              "valueType": {
                "id": 5532,
                "name": "uint256",
                "nodeType": "ElementaryTypeName",
                "src": "787:7:75",
                "typeDescriptions": {
                  "typeIdentifier": "t_uint256",
                  "typeString": "uint256"
                }
              }
            },
            "visibility": "private"
          },
          {
            "constant": false,
            "id": 5539,
            "mutability": "mutable",
            "name": "_componentState",
            "nameLocation": "886:15:75",
            "nodeType": "VariableDeclaration",
            "scope": 6504,
            "src": "832:69:75",
            "stateVariable": true,
            "storageLocation": "default",
            "typeDescriptions": {
              "typeIdentifier": "t_mapping$_t_uint256_$_t_enum$_ComponentState_$22010_$",
              "typeString": "mapping(uint256 => enum IComponent.ComponentState)"
            },
            "typeName": {
              "id": 5538,
              "keyType": {
                "id": 5535,
                "name": "uint256",
                "nodeType": "ElementaryTypeName",
                "src": "840:7:75",
                "typeDescriptions": {
                  "typeIdentifier": "t_uint256",
                  "typeString": "uint256"
                }
              },
              "nodeType": "Mapping",
              "src": "832:45:75",
              "typeDescriptions": {
                "typeIdentifier": "t_mapping$_t_uint256_$_t_enum$_ComponentState_$22010_$",
                "typeString": "mapping(uint256 => enum IComponent.ComponentState)"
              },
              "valueType": {
                "id": 5537,
                "nodeType": "UserDefinedTypeName",
                "pathNode": {
                  "id": 5536,
                  "name": "IComponent.ComponentState",
                  "nodeType": "IdentifierPath",
                  "referencedDeclaration": 22010,
                  "src": "851:25:75"
                },
                "referencedDeclaration": 22010,
                "src": "851:25:75",
                "typeDescriptions": {
                  "typeIdentifier": "t_enum$_ComponentState_$22010",
                  "typeString": "enum IComponent.ComponentState"
                }
              }
            },
            "visibility": "private"
          },
          {
            "constant": false,
            "id": 5542,
            "mutability": "mutable",
            "name": "_products",
            "nameLocation": "938:9:75",
            "nodeType": "VariableDeclaration",
            "scope": 6504,
            "src": "908:39:75",
            "stateVariable": true,
            "storageLocation": "default",
            "typeDescriptions": {
              "typeIdentifier": "t_struct$_UintSet_$19260_storage",
              "typeString": "struct EnumerableSet.UintSet"
            },
            "typeName": {
              "id": 5541,
              "nodeType": "UserDefinedTypeName",
              "pathNode": {
                "id": 5540,
                "name": "EnumerableSet.UintSet",
                "nodeType": "IdentifierPath",
                "referencedDeclaration": 19260,
                "src": "908:21:75"
              },
              "referencedDeclaration": 19260,
              "src": "908:21:75",
              "typeDescriptions": {
                "typeIdentifier": "t_struct$_UintSet_$19260_storage_ptr",
                "typeString": "struct EnumerableSet.UintSet"
              }
            },
            "visibility": "private"
          },
          {
            "constant": false,
            "id": 5545,
            "mutability": "mutable",
            "name": "_oracles",
            "nameLocation": "983:8:75",
            "nodeType": "VariableDeclaration",
            "scope": 6504,
            "src": "953:38:75",
            "stateVariable": true,
            "storageLocation": "default",
            "typeDescriptions": {
              "typeIdentifier": "t_struct$_UintSet_$19260_storage",
              "typeString": "struct EnumerableSet.UintSet"
            },
            "typeName": {
              "id": 5544,
              "nodeType": "UserDefinedTypeName",
              "pathNode": {
                "id": 5543,
                "name": "EnumerableSet.UintSet",
                "nodeType": "IdentifierPath",
                "referencedDeclaration": 19260,
                "src": "953:21:75"
              },
              "referencedDeclaration": 19260,
              "src": "953:21:75",
              "typeDescriptions": {
                "typeIdentifier": "t_struct$_UintSet_$19260_storage_ptr",
                "typeString": "struct EnumerableSet.UintSet"
              }
            },
            "visibility": "private"
          },
          {
            "constant": false,
            "id": 5548,
            "mutability": "mutable",
            "name": "_riskpools",
            "nameLocation": "1027:10:75",
            "nodeType": "VariableDeclaration",
            "scope": 6504,
            "src": "997:40:75",
            "stateVariable": true,
            "storageLocation": "default",
            "typeDescriptions": {
              "typeIdentifier": "t_struct$_UintSet_$19260_storage",
              "typeString": "struct EnumerableSet.UintSet"
            },
            "typeName": {
              "id": 5547,
              "nodeType": "UserDefinedTypeName",
              "pathNode": {
                "id": 5546,
                "name": "EnumerableSet.UintSet",
                "nodeType": "IdentifierPath",
                "referencedDeclaration": 19260,
                "src": "997:21:75"
              },
              "referencedDeclaration": 19260,
              "src": "997:21:75",
              "typeDescriptions": {
                "typeIdentifier": "t_struct$_UintSet_$19260_storage_ptr",
                "typeString": "struct EnumerableSet.UintSet"
              }
            },
            "visibility": "private"
          },
          {
            "constant": false,
            "id": 5550,
            "mutability": "mutable",
            "name": "_componentCount",
            "nameLocation": "1059:15:75",
            "nodeType": "VariableDeclaration",
            "scope": 6504,
            "src": "1043:31:75",
            "stateVariable": true,
            "storageLocation": "default",
            "typeDescriptions": {
              "typeIdentifier": "t_uint256",
              "typeString": "uint256"
            },
            "typeName": {
              "id": 5549,
              "name": "uint256",
              "nodeType": "ElementaryTypeName",
              "src": "1043:7:75",
              "typeDescriptions": {
                "typeIdentifier": "t_uint256",
                "typeString": "uint256"
              }
            },
            "visibility": "private"
          },
          {
            "constant": false,
            "id": 5554,
            "mutability": "mutable",
            "name": "_policyFlowByProductId",
            "nameLocation": "1160:22:75",
            "nodeType": "VariableDeclaration",
            "scope": 6504,
            "src": "1081:101:75",
            "stateVariable": true,
            "storageLocation": "default",
            "typeDescriptions": {
              "typeIdentifier": "t_mapping$_t_uint256_$_t_address_$",
              "typeString": "mapping(uint256 => address)"
            },
            "typeName": {
              "id": 5553,
              "keyType": {
                "id": 5551,
                "name": "uint256",
                "nodeType": "ElementaryTypeName",
                "src": "1089:7:75",
                "typeDescriptions": {
                  "typeIdentifier": "t_uint256",
                  "typeString": "uint256"
                }
              },
              "nodeType": "Mapping",
              "src": "1081:70:75",
              "typeDescriptions": {
                "typeIdentifier": "t_mapping$_t_uint256_$_t_address_$",
                "typeString": "mapping(uint256 => address)"
              },
              "valueType": {
                "id": 5552,
                "name": "address",
                "nodeType": "ElementaryTypeName",
                "src": "1117:7:75",
                "stateMutability": "nonpayable",
                "typeDescriptions": {
                  "typeIdentifier": "t_address",
                  "typeString": "address"
                }
              }
            },
            "visibility": "private"
          },
          {
            "body": {
              "id": 5567,
              "nodeType": "Block",
              "src": "1226:167:75",
              "statements": [
                {
                  "expression": {
                    "arguments": [
                      {
                        "commonType": {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        },
                        "id": 5562,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "lValueRequested": false,
                        "leftExpression": {
                          "arguments": [],
                          "expression": {
                            "argumentTypes": [],
                            "id": 5557,
                            "name": "_msgSender",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 24064,
                            "src": "1257:10:75",
                            "typeDescriptions": {
                              "typeIdentifier": "t_function_internal_view$__$returns$_t_address_$",
                              "typeString": "function () view returns (address)"
                            }
                          },
                          "id": 5558,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "kind": "functionCall",
                          "lValueRequested": false,
                          "names": [],
                          "nodeType": "FunctionCall",
                          "src": "1257:12:75",
                          "tryCall": false,
                          "typeDescriptions": {
                            "typeIdentifier": "t_address",
                            "typeString": "address"
                          }
                        },
                        "nodeType": "BinaryOperation",
                        "operator": "==",
                        "rightExpression": {
                          "arguments": [
                            {
                              "hexValue": "436f6d706f6e656e744f776e657253657276696365",
                              "id": 5560,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": true,
                              "kind": "string",
                              "lValueRequested": false,
                              "nodeType": "Literal",
                              "src": "1293:23:75",
                              "typeDescriptions": {
                                "typeIdentifier": "t_stringliteral_95855e0e8f5cd64ffc781762663437a44ef7554eea00fdb413a3a655c097a675",
                                "typeString": "literal_string \"ComponentOwnerService\""
                              },
                              "value": "ComponentOwnerService"
                            }
                          ],
                          "expression": {
                            "argumentTypes": [
                              {
                                "typeIdentifier": "t_stringliteral_95855e0e8f5cd64ffc781762663437a44ef7554eea00fdb413a3a655c097a675",
                                "typeString": "literal_string \"ComponentOwnerService\""
                              }
                            ],
                            "id": 5559,
                            "name": "_getContractAddress",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 14923,
                            "src": "1273:19:75",
                            "typeDescriptions": {
                              "typeIdentifier": "t_function_internal_view$_t_bytes32_$returns$_t_address_$",
                              "typeString": "function (bytes32) view returns (address)"
                            }
                          },
                          "id": 5561,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "kind": "functionCall",
                          "lValueRequested": false,
                          "names": [],
                          "nodeType": "FunctionCall",
                          "src": "1273:44:75",
                          "tryCall": false,
                          "typeDescriptions": {
                            "typeIdentifier": "t_address",
                            "typeString": "address"
                          }
                        },
                        "src": "1257:60:75",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        }
                      },
                      {
                        "hexValue": "4552524f523a4343522d3030313a4e4f545f434f4d504f4e454e545f4f574e45525f53455256494345",
                        "id": 5563,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": true,
                        "kind": "string",
                        "lValueRequested": false,
                        "nodeType": "Literal",
                        "src": "1331:43:75",
                        "typeDescriptions": {
                          "typeIdentifier": "t_stringliteral_2b163f71e59f0a392de25481a553757716afafc14f2c0ddf4ef8779c20751707",
                          "typeString": "literal_string \"ERROR:CCR-001:NOT_COMPONENT_OWNER_SERVICE\""
                        },
                        "value": "ERROR:CCR-001:NOT_COMPONENT_OWNER_SERVICE"
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        },
                        {
                          "typeIdentifier": "t_stringliteral_2b163f71e59f0a392de25481a553757716afafc14f2c0ddf4ef8779c20751707",
                          "typeString": "literal_string \"ERROR:CCR-001:NOT_COMPONENT_OWNER_SERVICE\""
                        }
                      ],
                      "id": 5556,
                      "name": "require",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [
                        -18,
                        -18
                      ],
                      "referencedDeclaration": -18,
                      "src": "1236:7:75",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$",
                        "typeString": "function (bool,string memory) pure"
                      }
                    },
                    "id": 5564,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "1236:139:75",
                    "tryCall": false,
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 5565,
                  "nodeType": "ExpressionStatement",
                  "src": "1236:139:75"
                },
                {
                  "id": 5566,
                  "nodeType": "PlaceholderStatement",
                  "src": "1385:1:75"
                }
              ]
            },
            "id": 5568,
            "name": "onlyComponentOwnerService",
            "nameLocation": "1198:25:75",
            "nodeType": "ModifierDefinition",
            "parameters": {
              "id": 5555,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "1223:2:75"
            },
            "src": "1189:204:75",
            "virtual": false,
            "visibility": "internal"
          },
          {
            "body": {
              "id": 5581,
              "nodeType": "Block",
              "src": "1438:171:75",
              "statements": [
                {
                  "expression": {
                    "arguments": [
                      {
                        "commonType": {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        },
                        "id": 5576,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "lValueRequested": false,
                        "leftExpression": {
                          "arguments": [],
                          "expression": {
                            "argumentTypes": [],
                            "id": 5571,
                            "name": "_msgSender",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 24064,
                            "src": "1469:10:75",
                            "typeDescriptions": {
                              "typeIdentifier": "t_function_internal_view$__$returns$_t_address_$",
                              "typeString": "function () view returns (address)"
                            }
                          },
                          "id": 5572,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "kind": "functionCall",
                          "lValueRequested": false,
                          "names": [],
                          "nodeType": "FunctionCall",
                          "src": "1469:12:75",
                          "tryCall": false,
                          "typeDescriptions": {
                            "typeIdentifier": "t_address",
                            "typeString": "address"
                          }
                        },
                        "nodeType": "BinaryOperation",
                        "operator": "==",
                        "rightExpression": {
                          "arguments": [
                            {
                              "hexValue": "496e7374616e63654f70657261746f7253657276696365",
                              "id": 5574,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": true,
                              "kind": "string",
                              "lValueRequested": false,
                              "nodeType": "Literal",
                              "src": "1505:25:75",
                              "typeDescriptions": {
                                "typeIdentifier": "t_stringliteral_893eee863631637173ead46f1c66388136d13bfeb40cdedfb3bfe4f34f933544",
                                "typeString": "literal_string \"InstanceOperatorService\""
                              },
                              "value": "InstanceOperatorService"
                            }
                          ],
                          "expression": {
                            "argumentTypes": [
                              {
                                "typeIdentifier": "t_stringliteral_893eee863631637173ead46f1c66388136d13bfeb40cdedfb3bfe4f34f933544",
                                "typeString": "literal_string \"InstanceOperatorService\""
                              }
                            ],
                            "id": 5573,
                            "name": "_getContractAddress",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 14923,
                            "src": "1485:19:75",
                            "typeDescriptions": {
                              "typeIdentifier": "t_function_internal_view$_t_bytes32_$returns$_t_address_$",
                              "typeString": "function (bytes32) view returns (address)"
                            }
                          },
                          "id": 5575,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "kind": "functionCall",
                          "lValueRequested": false,
                          "names": [],
                          "nodeType": "FunctionCall",
                          "src": "1485:46:75",
                          "tryCall": false,
                          "typeDescriptions": {
                            "typeIdentifier": "t_address",
                            "typeString": "address"
                          }
                        },
                        "src": "1469:62:75",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        }
                      },
                      {
                        "hexValue": "4552524f523a4343522d3030323a4e4f545f494e5354414e43455f4f50455241544f525f53455256494345",
                        "id": 5577,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": true,
                        "kind": "string",
                        "lValueRequested": false,
                        "nodeType": "Literal",
                        "src": "1545:45:75",
                        "typeDescriptions": {
                          "typeIdentifier": "t_stringliteral_130007efea4d49cc157bd5faf2f1c80f98e50627fe669a9a215b28142c1ee23f",
                          "typeString": "literal_string \"ERROR:CCR-002:NOT_INSTANCE_OPERATOR_SERVICE\""
                        },
                        "value": "ERROR:CCR-002:NOT_INSTANCE_OPERATOR_SERVICE"
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        },
                        {
                          "typeIdentifier": "t_stringliteral_130007efea4d49cc157bd5faf2f1c80f98e50627fe669a9a215b28142c1ee23f",
                          "typeString": "literal_string \"ERROR:CCR-002:NOT_INSTANCE_OPERATOR_SERVICE\""
                        }
                      ],
                      "id": 5570,
                      "name": "require",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [
                        -18,
                        -18
                      ],
                      "referencedDeclaration": -18,
                      "src": "1448:7:75",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$",
                        "typeString": "function (bool,string memory) pure"
                      }
                    },
                    "id": 5578,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "1448:143:75",
                    "tryCall": false,
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 5579,
                  "nodeType": "ExpressionStatement",
                  "src": "1448:143:75"
                },
                {
                  "id": 5580,
                  "nodeType": "PlaceholderStatement",
                  "src": "1601:1:75"
                }
              ]
            },
            "id": 5582,
            "name": "onlyInstanceOperatorService",
            "nameLocation": "1408:27:75",
            "nodeType": "ModifierDefinition",
            "parameters": {
              "id": 5569,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "1435:2:75"
            },
            "src": "1399:210:75",
            "virtual": false,
            "visibility": "internal"
          },
          {
            "body": {
              "id": 5638,
              "nodeType": "Block",
              "src": "1711:650:75",
              "statements": [
                {
                  "expression": {
                    "arguments": [
                      {
                        "commonType": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        },
                        "id": 5598,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "lValueRequested": false,
                        "leftExpression": {
                          "baseExpression": {
                            "id": 5591,
                            "name": "_componentIdByAddress",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 5534,
                            "src": "1757:21:75",
                            "typeDescriptions": {
                              "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$",
                              "typeString": "mapping(address => uint256)"
                            }
                          },
                          "id": 5596,
                          "indexExpression": {
                            "arguments": [
                              {
                                "id": 5594,
                                "name": "component",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 5585,
                                "src": "1787:9:75",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_contract$_IComponent_$22099",
                                  "typeString": "contract IComponent"
                                }
                              }
                            ],
                            "expression": {
                              "argumentTypes": [
                                {
                                  "typeIdentifier": "t_contract$_IComponent_$22099",
                                  "typeString": "contract IComponent"
                                }
                              ],
                              "id": 5593,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": true,
                              "lValueRequested": false,
                              "nodeType": "ElementaryTypeNameExpression",
                              "src": "1779:7:75",
                              "typeDescriptions": {
                                "typeIdentifier": "t_type$_t_address_$",
                                "typeString": "type(address)"
                              },
                              "typeName": {
                                "id": 5592,
                                "name": "address",
                                "nodeType": "ElementaryTypeName",
                                "src": "1779:7:75",
                                "typeDescriptions": {}
                              }
                            },
                            "id": 5595,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": false,
                            "kind": "typeConversion",
                            "lValueRequested": false,
                            "names": [],
                            "nodeType": "FunctionCall",
                            "src": "1779:18:75",
                            "tryCall": false,
                            "typeDescriptions": {
                              "typeIdentifier": "t_address",
                              "typeString": "address"
                            }
                          },
                          "isConstant": false,
                          "isLValue": true,
                          "isPure": false,
                          "lValueRequested": false,
                          "nodeType": "IndexAccess",
                          "src": "1757:41:75",
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        },
                        "nodeType": "BinaryOperation",
                        "operator": "==",
                        "rightExpression": {
                          "hexValue": "30",
                          "id": 5597,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": true,
                          "kind": "number",
                          "lValueRequested": false,
                          "nodeType": "Literal",
                          "src": "1802:1:75",
                          "typeDescriptions": {
                            "typeIdentifier": "t_rational_0_by_1",
                            "typeString": "int_const 0"
                          },
                          "value": "0"
                        },
                        "src": "1757:46:75",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        }
                      },
                      {
                        "hexValue": "4552524f523a4343522d3030333a434f4d504f4e454e545f414c52454144595f455849535453",
                        "id": 5599,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": true,
                        "kind": "string",
                        "lValueRequested": false,
                        "nodeType": "Literal",
                        "src": "1805:40:75",
                        "typeDescriptions": {
                          "typeIdentifier": "t_stringliteral_5ae3a1e2de2af7e4b795f54ca41064c73c9d3d29ac084b6bc16d97b27e04e8c5",
                          "typeString": "literal_string \"ERROR:CCR-003:COMPONENT_ALREADY_EXISTS\""
                        },
                        "value": "ERROR:CCR-003:COMPONENT_ALREADY_EXISTS"
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        },
                        {
                          "typeIdentifier": "t_stringliteral_5ae3a1e2de2af7e4b795f54ca41064c73c9d3d29ac084b6bc16d97b27e04e8c5",
                          "typeString": "literal_string \"ERROR:CCR-003:COMPONENT_ALREADY_EXISTS\""
                        }
                      ],
                      "id": 5590,
                      "name": "require",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [
                        -18,
                        -18
                      ],
                      "referencedDeclaration": -18,
                      "src": "1749:7:75",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$",
                        "typeString": "function (bool,string memory) pure"
                      }
                    },
                    "id": 5600,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "1749:97:75",
                    "tryCall": false,
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 5601,
                  "nodeType": "ExpressionStatement",
                  "src": "1749:97:75"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "commonType": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        },
                        "id": 5609,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "lValueRequested": false,
                        "leftExpression": {
                          "baseExpression": {
                            "id": 5603,
                            "name": "_componentIdByName",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 5530,
                            "src": "1864:18:75",
                            "typeDescriptions": {
                              "typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$",
                              "typeString": "mapping(bytes32 => uint256)"
                            }
                          },
                          "id": 5607,
                          "indexExpression": {
                            "arguments": [],
                            "expression": {
                              "argumentTypes": [],
                              "expression": {
                                "id": 5604,
                                "name": "component",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 5585,
                                "src": "1883:9:75",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_contract$_IComponent_$22099",
                                  "typeString": "contract IComponent"
                                }
                              },
                              "id": 5605,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": false,
                              "lValueRequested": false,
                              "memberName": "getName",
                              "nodeType": "MemberAccess",
                              "referencedDeclaration": 22031,
                              "src": "1883:17:75",
                              "typeDescriptions": {
                                "typeIdentifier": "t_function_external_view$__$returns$_t_bytes32_$",
                                "typeString": "function () view external returns (bytes32)"
                              }
                            },
                            "id": 5606,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": false,
                            "kind": "functionCall",
                            "lValueRequested": false,
                            "names": [],
                            "nodeType": "FunctionCall",
                            "src": "1883:19:75",
                            "tryCall": false,
                            "typeDescriptions": {
                              "typeIdentifier": "t_bytes32",
                              "typeString": "bytes32"
                            }
                          },
                          "isConstant": false,
                          "isLValue": true,
                          "isPure": false,
                          "lValueRequested": false,
                          "nodeType": "IndexAccess",
                          "src": "1864:39:75",
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        },
                        "nodeType": "BinaryOperation",
                        "operator": "==",
                        "rightExpression": {
                          "hexValue": "30",
                          "id": 5608,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": true,
                          "kind": "number",
                          "lValueRequested": false,
                          "nodeType": "Literal",
                          "src": "1907:1:75",
                          "typeDescriptions": {
                            "typeIdentifier": "t_rational_0_by_1",
                            "typeString": "int_const 0"
                          },
                          "value": "0"
                        },
                        "src": "1864:44:75",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        }
                      },
                      {
                        "hexValue": "4552524f523a4343522d3030343a434f4d504f4e454e545f4e414d455f414c52454144595f455849535453",
                        "id": 5610,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": true,
                        "kind": "string",
                        "lValueRequested": false,
                        "nodeType": "Literal",
                        "src": "1910:45:75",
                        "typeDescriptions": {
                          "typeIdentifier": "t_stringliteral_db0e727d540281d778747629fde13ba11de87883dd7bb058b220298f1d595860",
                          "typeString": "literal_string \"ERROR:CCR-004:COMPONENT_NAME_ALREADY_EXISTS\""
                        },
                        "value": "ERROR:CCR-004:COMPONENT_NAME_ALREADY_EXISTS"
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        },
                        {
                          "typeIdentifier": "t_stringliteral_db0e727d540281d778747629fde13ba11de87883dd7bb058b220298f1d595860",
                          "typeString": "literal_string \"ERROR:CCR-004:COMPONENT_NAME_ALREADY_EXISTS\""
                        }
                      ],
                      "id": 5602,
                      "name": "require",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [
                        -18,
                        -18
                      ],
                      "referencedDeclaration": -18,
                      "src": "1856:7:75",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$",
                        "typeString": "function (bool,string memory) pure"
                      }
                    },
                    "id": 5611,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "1856:100:75",
                    "tryCall": false,
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 5612,
                  "nodeType": "ExpressionStatement",
                  "src": "1856:100:75"
                },
                {
                  "assignments": [
                    5614
                  ],
                  "declarations": [
                    {
                      "constant": false,
                      "id": 5614,
                      "mutability": "mutable",
                      "name": "id",
                      "nameLocation": "2024:2:75",
                      "nodeType": "VariableDeclaration",
                      "scope": 5638,
                      "src": "2016:10:75",
                      "stateVariable": false,
                      "storageLocation": "default",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      },
                      "typeName": {
                        "id": 5613,
                        "name": "uint256",
                        "nodeType": "ElementaryTypeName",
                        "src": "2016:7:75",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      },
                      "visibility": "internal"
                    }
                  ],
                  "id": 5618,
                  "initialValue": {
                    "arguments": [
                      {
                        "id": 5616,
                        "name": "component",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 5585,
                        "src": "2047:9:75",
                        "typeDescriptions": {
                          "typeIdentifier": "t_contract$_IComponent_$22099",
                          "typeString": "contract IComponent"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_contract$_IComponent_$22099",
                          "typeString": "contract IComponent"
                        }
                      ],
                      "id": 5615,
                      "name": "_persistComponent",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 5727,
                      "src": "2029:17:75",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_internal_nonpayable$_t_contract$_IComponent_$22099_$returns$_t_uint256_$",
                        "typeString": "function (contract IComponent) returns (uint256)"
                      }
                    },
                    "id": 5617,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "2029:28:75",
                    "tryCall": false,
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "nodeType": "VariableDeclarationStatement",
                  "src": "2016:41:75"
                },
                {
                  "eventCall": {
                    "arguments": [
                      {
                        "arguments": [],
                        "expression": {
                          "argumentTypes": [],
                          "expression": {
                            "id": 5620,
                            "name": "component",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 5585,
                            "src": "2152:9:75",
                            "typeDescriptions": {
                              "typeIdentifier": "t_contract$_IComponent_$22099",
                              "typeString": "contract IComponent"
                            }
                          },
                          "id": 5621,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "memberName": "getName",
                          "nodeType": "MemberAccess",
                          "referencedDeclaration": 22031,
                          "src": "2152:17:75",
                          "typeDescriptions": {
                            "typeIdentifier": "t_function_external_view$__$returns$_t_bytes32_$",
                            "typeString": "function () view external returns (bytes32)"
                          }
                        },
                        "id": 5622,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "kind": "functionCall",
                        "lValueRequested": false,
                        "names": [],
                        "nodeType": "FunctionCall",
                        "src": "2152:19:75",
                        "tryCall": false,
                        "typeDescriptions": {
                          "typeIdentifier": "t_bytes32",
                          "typeString": "bytes32"
                        }
                      },
                      {
                        "arguments": [],
                        "expression": {
                          "argumentTypes": [],
                          "expression": {
                            "id": 5623,
                            "name": "component",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 5585,
                            "src": "2185:9:75",
                            "typeDescriptions": {
                              "typeIdentifier": "t_contract$_IComponent_$22099",
                              "typeString": "contract IComponent"
                            }
                          },
                          "id": 5624,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "memberName": "getType",
                          "nodeType": "MemberAccess",
                          "referencedDeclaration": 22042,
                          "src": "2185:17:75",
                          "typeDescriptions": {
                            "typeIdentifier": "t_function_external_view$__$returns$_t_enum$_ComponentType_$22002_$",
                            "typeString": "function () view external returns (enum IComponent.ComponentType)"
                          }
                        },
                        "id": 5625,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "kind": "functionCall",
                        "lValueRequested": false,
                        "names": [],
                        "nodeType": "FunctionCall",
                        "src": "2185:19:75",
                        "tryCall": false,
                        "typeDescriptions": {
                          "typeIdentifier": "t_enum$_ComponentType_$22002",
                          "typeString": "enum IComponent.ComponentType"
                        }
                      },
                      {
                        "arguments": [
                          {
                            "id": 5628,
                            "name": "component",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 5585,
                            "src": "2226:9:75",
                            "typeDescriptions": {
                              "typeIdentifier": "t_contract$_IComponent_$22099",
                              "typeString": "contract IComponent"
                            }
                          }
                        ],
                        "expression": {
                          "argumentTypes": [
                            {
                              "typeIdentifier": "t_contract$_IComponent_$22099",
                              "typeString": "contract IComponent"
                            }
                          ],
                          "id": 5627,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": true,
                          "lValueRequested": false,
                          "nodeType": "ElementaryTypeNameExpression",
                          "src": "2218:7:75",
                          "typeDescriptions": {
                            "typeIdentifier": "t_type$_t_address_$",
                            "typeString": "type(address)"
                          },
                          "typeName": {
                            "id": 5626,
                            "name": "address",
                            "nodeType": "ElementaryTypeName",
                            "src": "2218:7:75",
                            "typeDescriptions": {}
                          }
                        },
                        "id": 5629,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "kind": "typeConversion",
                        "lValueRequested": false,
                        "names": [],
                        "nodeType": "FunctionCall",
                        "src": "2218:18:75",
                        "tryCall": false,
                        "typeDescriptions": {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        }
                      },
                      {
                        "id": 5630,
                        "name": "id",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 5614,
                        "src": "2250:2:75",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_bytes32",
                          "typeString": "bytes32"
                        },
                        {
                          "typeIdentifier": "t_enum$_ComponentType_$22002",
                          "typeString": "enum IComponent.ComponentType"
                        },
                        {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        },
                        {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      ],
                      "id": 5619,
                      "name": "LogComponentProposed",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 22380,
                      "src": "2118:20:75",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_event_nonpayable$_t_bytes32_$_t_enum$_ComponentType_$22002_$_t_address_$_t_uint256_$returns$__$",
                        "typeString": "function (bytes32,enum IComponent.ComponentType,address,uint256)"
                      }
                    },
                    "id": 5631,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "2118:135:75",
                    "tryCall": false,
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 5632,
                  "nodeType": "EmitStatement",
                  "src": "2113:140:75"
                },
                {
                  "expression": {
                    "arguments": [],
                    "expression": {
                      "argumentTypes": [],
                      "expression": {
                        "id": 5633,
                        "name": "component",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 5585,
                        "src": "2326:9:75",
                        "typeDescriptions": {
                          "typeIdentifier": "t_contract$_IComponent_$22099",
                          "typeString": "contract IComponent"
                        }
                      },
                      "id": 5635,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "memberName": "proposalCallback",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 22077,
                      "src": "2326:26:75",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_external_nonpayable$__$returns$__$",
                        "typeString": "function () external"
                      }
                    },
                    "id": 5636,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "2326:28:75",
                    "tryCall": false,
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 5637,
                  "nodeType": "ExpressionStatement",
                  "src": "2326:28:75"
                }
              ]
            },
            "functionSelector": "01267951",
            "id": 5639,
            "implemented": true,
            "kind": "function",
            "modifiers": [
              {
                "id": 5588,
                "modifierName": {
                  "id": 5587,
                  "name": "onlyComponentOwnerService",
                  "nodeType": "IdentifierPath",
                  "referencedDeclaration": 5568,
                  "src": "1680:25:75"
                },
                "nodeType": "ModifierInvocation",
                "src": "1680:25:75"
              }
            ],
            "name": "propose",
            "nameLocation": "1624:7:75",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 5586,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 5585,
                  "mutability": "mutable",
                  "name": "component",
                  "nameLocation": "1643:9:75",
                  "nodeType": "VariableDeclaration",
                  "scope": 5639,
                  "src": "1632:20:75",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_contract$_IComponent_$22099",
                    "typeString": "contract IComponent"
                  },
                  "typeName": {
                    "id": 5584,
                    "nodeType": "UserDefinedTypeName",
                    "pathNode": {
                      "id": 5583,
                      "name": "IComponent",
                      "nodeType": "IdentifierPath",
                      "referencedDeclaration": 22099,
                      "src": "1632:10:75"
                    },
                    "referencedDeclaration": 22099,
                    "src": "1632:10:75",
                    "typeDescriptions": {
                      "typeIdentifier": "t_contract$_IComponent_$22099",
                      "typeString": "contract IComponent"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "1631:22:75"
            },
            "returnParameters": {
              "id": 5589,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "1711:0:75"
            },
            "scope": 6504,
            "src": "1615:746:75",
            "stateMutability": "nonpayable",
            "virtual": false,
            "visibility": "external"
          },
          {
            "body": {
              "id": 5726,
              "nodeType": "Block",
              "src": "2466:686:75",
              "statements": [
                {
                  "expression": {
                    "id": 5648,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "nodeType": "UnaryOperation",
                    "operator": "++",
                    "prefix": false,
                    "src": "2511:17:75",
                    "subExpression": {
                      "id": 5647,
                      "name": "_componentCount",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 5550,
                      "src": "2511:15:75",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "id": 5649,
                  "nodeType": "ExpressionStatement",
                  "src": "2511:17:75"
                },
                {
                  "expression": {
                    "id": 5652,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftHandSide": {
                      "id": 5650,
                      "name": "id",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 5645,
                      "src": "2538:2:75",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "nodeType": "Assignment",
                    "operator": "=",
                    "rightHandSide": {
                      "id": 5651,
                      "name": "_componentCount",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 5550,
                      "src": "2543:15:75",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "src": "2538:20:75",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "id": 5653,
                  "nodeType": "ExpressionStatement",
                  "src": "2538:20:75"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "id": 5655,
                        "name": "id",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 5645,
                        "src": "2616:2:75",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      },
                      {
                        "expression": {
                          "expression": {
                            "id": 5656,
                            "name": "IComponent",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 22099,
                            "src": "2620:10:75",
                            "typeDescriptions": {
                              "typeIdentifier": "t_type$_t_contract$_IComponent_$22099_$",
                              "typeString": "type(contract IComponent)"
                            }
                          },
                          "id": 5657,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "memberName": "ComponentState",
                          "nodeType": "MemberAccess",
                          "referencedDeclaration": 22010,
                          "src": "2620:25:75",
                          "typeDescriptions": {
                            "typeIdentifier": "t_type$_t_enum$_ComponentState_$22010_$",
                            "typeString": "type(enum IComponent.ComponentState)"
                          }
                        },
                        "id": 5658,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": true,
                        "lValueRequested": false,
                        "memberName": "Proposed",
                        "nodeType": "MemberAccess",
                        "referencedDeclaration": 22004,
                        "src": "2620:34:75",
                        "typeDescriptions": {
                          "typeIdentifier": "t_enum$_ComponentState_$22010",
                          "typeString": "enum IComponent.ComponentState"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        },
                        {
                          "typeIdentifier": "t_enum$_ComponentState_$22010",
                          "typeString": "enum IComponent.ComponentState"
                        }
                      ],
                      "id": 5654,
                      "name": "_changeState",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 6366,
                      "src": "2603:12:75",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_internal_nonpayable$_t_uint256_$_t_enum$_ComponentState_$22010_$returns$__$",
                        "typeString": "function (uint256,enum IComponent.ComponentState)"
                      }
                    },
                    "id": 5659,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "2603:52:75",
                    "tryCall": false,
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 5660,
                  "nodeType": "ExpressionStatement",
                  "src": "2603:52:75"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "id": 5664,
                        "name": "id",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 5645,
                        "src": "2681:2:75",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      ],
                      "expression": {
                        "id": 5661,
                        "name": "component",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 5642,
                        "src": "2665:9:75",
                        "typeDescriptions": {
                          "typeIdentifier": "t_contract$_IComponent_$22099",
                          "typeString": "contract IComponent"
                        }
                      },
                      "id": 5663,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "memberName": "setId",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 22026,
                      "src": "2665:15:75",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_external_nonpayable$_t_uint256_$returns$__$",
                        "typeString": "function (uint256) external"
                      }
                    },
                    "id": 5665,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "2665:19:75",
                    "tryCall": false,
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 5666,
                  "nodeType": "ExpressionStatement",
                  "src": "2665:19:75"
                },
                {
                  "expression": {
                    "id": 5671,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftHandSide": {
                      "baseExpression": {
                        "id": 5667,
                        "name": "_componentById",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 5526,
                        "src": "2737:14:75",
                        "typeDescriptions": {
                          "typeIdentifier": "t_mapping$_t_uint256_$_t_contract$_IComponent_$22099_$",
                          "typeString": "mapping(uint256 => contract IComponent)"
                        }
                      },
                      "id": 5669,
                      "indexExpression": {
                        "id": 5668,
                        "name": "id",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 5645,
                        "src": "2752:2:75",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      },
                      "isConstant": false,
                      "isLValue": true,
                      "isPure": false,
                      "lValueRequested": true,
                      "nodeType": "IndexAccess",
                      "src": "2737:18:75",
                      "typeDescriptions": {
                        "typeIdentifier": "t_contract$_IComponent_$22099",
                        "typeString": "contract IComponent"
                      }
                    },
                    "nodeType": "Assignment",
                    "operator": "=",
                    "rightHandSide": {
                      "id": 5670,
                      "name": "component",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 5642,
                      "src": "2758:9:75",
                      "typeDescriptions": {
                        "typeIdentifier": "t_contract$_IComponent_$22099",
                        "typeString": "contract IComponent"
                      }
                    },
                    "src": "2737:30:75",
                    "typeDescriptions": {
                      "typeIdentifier": "t_contract$_IComponent_$22099",
                      "typeString": "contract IComponent"
                    }
                  },
                  "id": 5672,
                  "nodeType": "ExpressionStatement",
                  "src": "2737:30:75"
                },
                {
                  "expression": {
                    "id": 5679,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftHandSide": {
                      "baseExpression": {
                        "id": 5673,
                        "name": "_componentIdByName",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 5530,
                        "src": "2777:18:75",
                        "typeDescriptions": {
                          "typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$",
                          "typeString": "mapping(bytes32 => uint256)"
                        }
                      },
                      "id": 5677,
                      "indexExpression": {
                        "arguments": [],
                        "expression": {
                          "argumentTypes": [],
                          "expression": {
                            "id": 5674,
                            "name": "component",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 5642,
                            "src": "2796:9:75",
                            "typeDescriptions": {
                              "typeIdentifier": "t_contract$_IComponent_$22099",
                              "typeString": "contract IComponent"
                            }
                          },
                          "id": 5675,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "memberName": "getName",
                          "nodeType": "MemberAccess",
                          "referencedDeclaration": 22031,
                          "src": "2796:17:75",
                          "typeDescriptions": {
                            "typeIdentifier": "t_function_external_view$__$returns$_t_bytes32_$",
                            "typeString": "function () view external returns (bytes32)"
                          }
                        },
                        "id": 5676,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "kind": "functionCall",
                        "lValueRequested": false,
                        "names": [],
                        "nodeType": "FunctionCall",
                        "src": "2796:19:75",
                        "tryCall": false,
                        "typeDescriptions": {
                          "typeIdentifier": "t_bytes32",
                          "typeString": "bytes32"
                        }
                      },
                      "isConstant": false,
                      "isLValue": true,
                      "isPure": false,
                      "lValueRequested": true,
                      "nodeType": "IndexAccess",
                      "src": "2777:39:75",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "nodeType": "Assignment",
                    "operator": "=",
                    "rightHandSide": {
                      "id": 5678,
                      "name": "id",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 5645,
                      "src": "2819:2:75",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "src": "2777:44:75",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "id": 5680,
                  "nodeType": "ExpressionStatement",
                  "src": "2777:44:75"
                },
                {
                  "expression": {
                    "id": 5688,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftHandSide": {
                      "baseExpression": {
                        "id": 5681,
                        "name": "_componentIdByAddress",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 5534,
                        "src": "2831:21:75",
                        "typeDescriptions": {
                          "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$",
                          "typeString": "mapping(address => uint256)"
                        }
                      },
                      "id": 5686,
                      "indexExpression": {
                        "arguments": [
                          {
                            "id": 5684,
                            "name": "component",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 5642,
                            "src": "2861:9:75",
                            "typeDescriptions": {
                              "typeIdentifier": "t_contract$_IComponent_$22099",
                              "typeString": "contract IComponent"
                            }
                          }
                        ],
                        "expression": {
                          "argumentTypes": [
                            {
                              "typeIdentifier": "t_contract$_IComponent_$22099",
                              "typeString": "contract IComponent"
                            }
                          ],
                          "id": 5683,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": true,
                          "lValueRequested": false,
                          "nodeType": "ElementaryTypeNameExpression",
                          "src": "2853:7:75",
                          "typeDescriptions": {
                            "typeIdentifier": "t_type$_t_address_$",
                            "typeString": "type(address)"
                          },
                          "typeName": {
                            "id": 5682,
                            "name": "address",
                            "nodeType": "ElementaryTypeName",
                            "src": "2853:7:75",
                            "typeDescriptions": {}
                          }
                        },
                        "id": 5685,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "kind": "typeConversion",
                        "lValueRequested": false,
                        "names": [],
                        "nodeType": "FunctionCall",
                        "src": "2853:18:75",
                        "tryCall": false,
                        "typeDescriptions": {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        }
                      },
                      "isConstant": false,
                      "isLValue": true,
                      "isPure": false,
                      "lValueRequested": true,
                      "nodeType": "IndexAccess",
                      "src": "2831:41:75",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "nodeType": "Assignment",
                    "operator": "=",
                    "rightHandSide": {
                      "id": 5687,
                      "name": "id",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 5645,
                      "src": "2875:2:75",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "src": "2831:46:75",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "id": 5689,
                  "nodeType": "ExpressionStatement",
                  "src": "2831:46:75"
                },
                {
                  "condition": {
                    "arguments": [],
                    "expression": {
                      "argumentTypes": [],
                      "expression": {
                        "id": 5690,
                        "name": "component",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 5642,
                        "src": "2930:9:75",
                        "typeDescriptions": {
                          "typeIdentifier": "t_contract$_IComponent_$22099",
                          "typeString": "contract IComponent"
                        }
                      },
                      "id": 5691,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "memberName": "isProduct",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 22058,
                      "src": "2930:19:75",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_external_view$__$returns$_t_bool_$",
                        "typeString": "function () view external returns (bool)"
                      }
                    },
                    "id": 5692,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "2930:21:75",
                    "tryCall": false,
                    "typeDescriptions": {
                      "typeIdentifier": "t_bool",
                      "typeString": "bool"
                    }
                  },
                  "falseBody": {
                    "condition": {
                      "arguments": [],
                      "expression": {
                        "argumentTypes": [],
                        "expression": {
                          "id": 5701,
                          "name": "component",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 5642,
                          "src": "3008:9:75",
                          "typeDescriptions": {
                            "typeIdentifier": "t_contract$_IComponent_$22099",
                            "typeString": "contract IComponent"
                          }
                        },
                        "id": 5702,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "lValueRequested": false,
                        "memberName": "isOracle",
                        "nodeType": "MemberAccess",
                        "referencedDeclaration": 22063,
                        "src": "3008:18:75",
                        "typeDescriptions": {
                          "typeIdentifier": "t_function_external_view$__$returns$_t_bool_$",
                          "typeString": "function () view external returns (bool)"
                        }
                      },
                      "id": 5703,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "kind": "functionCall",
                      "lValueRequested": false,
                      "names": [],
                      "nodeType": "FunctionCall",
                      "src": "3008:20:75",
                      "tryCall": false,
                      "typeDescriptions": {
                        "typeIdentifier": "t_bool",
                        "typeString": "bool"
                      }
                    },
                    "falseBody": {
                      "condition": {
                        "arguments": [],
                        "expression": {
                          "argumentTypes": [],
                          "expression": {
                            "id": 5712,
                            "name": "component",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 5642,
                            "src": "3084:9:75",
                            "typeDescriptions": {
                              "typeIdentifier": "t_contract$_IComponent_$22099",
                              "typeString": "contract IComponent"
                            }
                          },
                          "id": 5713,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "memberName": "isRiskpool",
                          "nodeType": "MemberAccess",
                          "referencedDeclaration": 22068,
                          "src": "3084:20:75",
                          "typeDescriptions": {
                            "typeIdentifier": "t_function_external_view$__$returns$_t_bool_$",
                            "typeString": "function () view external returns (bool)"
                          }
                        },
                        "id": 5714,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "kind": "functionCall",
                        "lValueRequested": false,
                        "names": [],
                        "nodeType": "FunctionCall",
                        "src": "3084:22:75",
                        "tryCall": false,
                        "typeDescriptions": {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        }
                      },
                      "id": 5723,
                      "nodeType": "IfStatement",
                      "src": "3080:66:75",
                      "trueBody": {
                        "id": 5722,
                        "nodeType": "Block",
                        "src": "3108:38:75",
                        "statements": [
                          {
                            "expression": {
                              "arguments": [
                                {
                                  "id": 5718,
                                  "name": "_riskpools",
                                  "nodeType": "Identifier",
                                  "overloadedDeclarations": [],
                                  "referencedDeclaration": 5548,
                                  "src": "3128:10:75",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_struct$_UintSet_$19260_storage",
                                    "typeString": "struct EnumerableSet.UintSet storage ref"
                                  }
                                },
                                {
                                  "id": 5719,
                                  "name": "id",
                                  "nodeType": "Identifier",
                                  "overloadedDeclarations": [],
                                  "referencedDeclaration": 5645,
                                  "src": "3140:2:75",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_uint256",
                                    "typeString": "uint256"
                                  }
                                }
                              ],
                              "expression": {
                                "argumentTypes": [
                                  {
                                    "typeIdentifier": "t_struct$_UintSet_$19260_storage",
                                    "typeString": "struct EnumerableSet.UintSet storage ref"
                                  },
                                  {
                                    "typeIdentifier": "t_uint256",
                                    "typeString": "uint256"
                                  }
                                ],
                                "expression": {
                                  "id": 5715,
                                  "name": "EnumerableSet",
                                  "nodeType": "Identifier",
                                  "overloadedDeclarations": [],
                                  "referencedDeclaration": 19390,
                                  "src": "3110:13:75",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_type$_t_contract$_EnumerableSet_$19390_$",
                                    "typeString": "type(library EnumerableSet)"
                                  }
                                },
                                "id": 5717,
                                "isConstant": false,
                                "isLValue": false,
                                "isPure": false,
                                "lValueRequested": false,
                                "memberName": "add",
                                "nodeType": "MemberAccess",
                                "referencedDeclaration": 19281,
                                "src": "3110:17:75",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_function_internal_nonpayable$_t_struct$_UintSet_$19260_storage_ptr_$_t_uint256_$returns$_t_bool_$",
                                  "typeString": "function (struct EnumerableSet.UintSet storage pointer,uint256) returns (bool)"
                                }
                              },
                              "id": 5720,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": false,
                              "kind": "functionCall",
                              "lValueRequested": false,
                              "names": [],
                              "nodeType": "FunctionCall",
                              "src": "3110:33:75",
                              "tryCall": false,
                              "typeDescriptions": {
                                "typeIdentifier": "t_bool",
                                "typeString": "bool"
                              }
                            },
                            "id": 5721,
                            "nodeType": "ExpressionStatement",
                            "src": "3110:33:75"
                          }
                        ]
                      }
                    },
                    "id": 5724,
                    "nodeType": "IfStatement",
                    "src": "3004:142:75",
                    "trueBody": {
                      "id": 5711,
                      "nodeType": "Block",
                      "src": "3030:36:75",
                      "statements": [
                        {
                          "expression": {
                            "arguments": [
                              {
                                "id": 5707,
                                "name": "_oracles",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 5545,
                                "src": "3050:8:75",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_struct$_UintSet_$19260_storage",
                                  "typeString": "struct EnumerableSet.UintSet storage ref"
                                }
                              },
                              {
                                "id": 5708,
                                "name": "id",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 5645,
                                "src": "3060:2:75",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_uint256",
                                  "typeString": "uint256"
                                }
                              }
                            ],
                            "expression": {
                              "argumentTypes": [
                                {
                                  "typeIdentifier": "t_struct$_UintSet_$19260_storage",
                                  "typeString": "struct EnumerableSet.UintSet storage ref"
                                },
                                {
                                  "typeIdentifier": "t_uint256",
                                  "typeString": "uint256"
                                }
                              ],
                              "expression": {
                                "id": 5704,
                                "name": "EnumerableSet",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 19390,
                                "src": "3032:13:75",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_type$_t_contract$_EnumerableSet_$19390_$",
                                  "typeString": "type(library EnumerableSet)"
                                }
                              },
                              "id": 5706,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": false,
                              "lValueRequested": false,
                              "memberName": "add",
                              "nodeType": "MemberAccess",
                              "referencedDeclaration": 19281,
                              "src": "3032:17:75",
                              "typeDescriptions": {
                                "typeIdentifier": "t_function_internal_nonpayable$_t_struct$_UintSet_$19260_storage_ptr_$_t_uint256_$returns$_t_bool_$",
                                "typeString": "function (struct EnumerableSet.UintSet storage pointer,uint256) returns (bool)"
                              }
                            },
                            "id": 5709,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": false,
                            "kind": "functionCall",
                            "lValueRequested": false,
                            "names": [],
                            "nodeType": "FunctionCall",
                            "src": "3032:31:75",
                            "tryCall": false,
                            "typeDescriptions": {
                              "typeIdentifier": "t_bool",
                              "typeString": "bool"
                            }
                          },
                          "id": 5710,
                          "nodeType": "ExpressionStatement",
                          "src": "3032:31:75"
                        }
                      ]
                    }
                  },
                  "id": 5725,
                  "nodeType": "IfStatement",
                  "src": "2926:220:75",
                  "trueBody": {
                    "id": 5700,
                    "nodeType": "Block",
                    "src": "2953:37:75",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "id": 5696,
                              "name": "_products",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 5542,
                              "src": "2973:9:75",
                              "typeDescriptions": {
                                "typeIdentifier": "t_struct$_UintSet_$19260_storage",
                                "typeString": "struct EnumerableSet.UintSet storage ref"
                              }
                            },
                            {
                              "id": 5697,
                              "name": "id",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 5645,
                              "src": "2984:2:75",
                              "typeDescriptions": {
                                "typeIdentifier": "t_uint256",
                                "typeString": "uint256"
                              }
                            }
                          ],
                          "expression": {
                            "argumentTypes": [
                              {
                                "typeIdentifier": "t_struct$_UintSet_$19260_storage",
                                "typeString": "struct EnumerableSet.UintSet storage ref"
                              },
                              {
                                "typeIdentifier": "t_uint256",
                                "typeString": "uint256"
                              }
                            ],
                            "expression": {
                              "id": 5693,
                              "name": "EnumerableSet",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 19390,
                              "src": "2955:13:75",
                              "typeDescriptions": {
                                "typeIdentifier": "t_type$_t_contract$_EnumerableSet_$19390_$",
                                "typeString": "type(library EnumerableSet)"
                              }
                            },
                            "id": 5695,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": false,
                            "lValueRequested": false,
                            "memberName": "add",
                            "nodeType": "MemberAccess",
                            "referencedDeclaration": 19281,
                            "src": "2955:17:75",
                            "typeDescriptions": {
                              "typeIdentifier": "t_function_internal_nonpayable$_t_struct$_UintSet_$19260_storage_ptr_$_t_uint256_$returns$_t_bool_$",
                              "typeString": "function (struct EnumerableSet.UintSet storage pointer,uint256) returns (bool)"
                            }
                          },
                          "id": 5698,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "kind": "functionCall",
                          "lValueRequested": false,
                          "names": [],
                          "nodeType": "FunctionCall",
                          "src": "2955:32:75",
                          "tryCall": false,
                          "typeDescriptions": {
                            "typeIdentifier": "t_bool",
                            "typeString": "bool"
                          }
                        },
                        "id": 5699,
                        "nodeType": "ExpressionStatement",
                        "src": "2955:32:75"
                      }
                    ]
                  }
                }
              ]
            },
            "id": 5727,
            "implemented": true,
            "kind": "function",
            "modifiers": [],
            "name": "_persistComponent",
            "nameLocation": "2376:17:75",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 5643,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 5642,
                  "mutability": "mutable",
                  "name": "component",
                  "nameLocation": "2405:9:75",
                  "nodeType": "VariableDeclaration",
                  "scope": 5727,
                  "src": "2394:20:75",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_contract$_IComponent_$22099",
                    "typeString": "contract IComponent"
                  },
                  "typeName": {
                    "id": 5641,
                    "nodeType": "UserDefinedTypeName",
                    "pathNode": {
                      "id": 5640,
                      "name": "IComponent",
                      "nodeType": "IdentifierPath",
                      "referencedDeclaration": 22099,
                      "src": "2394:10:75"
                    },
                    "referencedDeclaration": 22099,
                    "src": "2394:10:75",
                    "typeDescriptions": {
                      "typeIdentifier": "t_contract$_IComponent_$22099",
                      "typeString": "contract IComponent"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "2393:22:75"
            },
            "returnParameters": {
              "id": 5646,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 5645,
                  "mutability": "mutable",
                  "name": "id",
                  "nameLocation": "2458:2:75",
                  "nodeType": "VariableDeclaration",
                  "scope": 5727,
                  "src": "2450:10:75",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 5644,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "2450:7:75",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "2449:12:75"
            },
            "scope": 6504,
            "src": "2367:785:75",
            "stateMutability": "nonpayable",
            "virtual": false,
            "visibility": "internal"
          },
          {
            "body": {
              "id": 5752,
              "nodeType": "Block",
              "src": "3212:109:75",
              "statements": [
                {
                  "assignments": [
                    5736
                  ],
                  "declarations": [
                    {
                      "constant": false,
                      "id": 5736,
                      "mutability": "mutable",
                      "name": "component",
                      "nameLocation": "3233:9:75",
                      "nodeType": "VariableDeclaration",
                      "scope": 5752,
                      "src": "3222:20:75",
                      "stateVariable": false,
                      "storageLocation": "default",
                      "typeDescriptions": {
                        "typeIdentifier": "t_contract$_IComponent_$22099",
                        "typeString": "contract IComponent"
                      },
                      "typeName": {
                        "id": 5735,
                        "nodeType": "UserDefinedTypeName",
                        "pathNode": {
                          "id": 5734,
                          "name": "IComponent",
                          "nodeType": "IdentifierPath",
                          "referencedDeclaration": 22099,
                          "src": "3222:10:75"
                        },
                        "referencedDeclaration": 22099,
                        "src": "3222:10:75",
                        "typeDescriptions": {
                          "typeIdentifier": "t_contract$_IComponent_$22099",
                          "typeString": "contract IComponent"
                        }
                      },
                      "visibility": "internal"
                    }
                  ],
                  "id": 5740,
                  "initialValue": {
                    "baseExpression": {
                      "id": 5737,
                      "name": "_componentById",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 5526,
                      "src": "3245:14:75",
                      "typeDescriptions": {
                        "typeIdentifier": "t_mapping$_t_uint256_$_t_contract$_IComponent_$22099_$",
                        "typeString": "mapping(uint256 => contract IComponent)"
                      }
                    },
                    "id": 5739,
                    "indexExpression": {
                      "id": 5738,
                      "name": "id",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 5729,
                      "src": "3260:2:75",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "isConstant": false,
                    "isLValue": true,
                    "isPure": false,
                    "lValueRequested": false,
                    "nodeType": "IndexAccess",
                    "src": "3245:18:75",
                    "typeDescriptions": {
                      "typeIdentifier": "t_contract$_IComponent_$22099",
                      "typeString": "contract IComponent"
                    }
                  },
                  "nodeType": "VariableDeclarationStatement",
                  "src": "3222:41:75"
                },
                {
                  "expression": {
                    "components": [
                      {
                        "commonType": {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        },
                        "id": 5749,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "lValueRequested": false,
                        "leftExpression": {
                          "arguments": [
                            {
                              "id": 5743,
                              "name": "component",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 5736,
                              "src": "3289:9:75",
                              "typeDescriptions": {
                                "typeIdentifier": "t_contract$_IComponent_$22099",
                                "typeString": "contract IComponent"
                              }
                            }
                          ],
                          "expression": {
                            "argumentTypes": [
                              {
                                "typeIdentifier": "t_contract$_IComponent_$22099",
                                "typeString": "contract IComponent"
                              }
                            ],
                            "id": 5742,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": true,
                            "lValueRequested": false,
                            "nodeType": "ElementaryTypeNameExpression",
                            "src": "3281:7:75",
                            "typeDescriptions": {
                              "typeIdentifier": "t_type$_t_address_$",
                              "typeString": "type(address)"
                            },
                            "typeName": {
                              "id": 5741,
                              "name": "address",
                              "nodeType": "ElementaryTypeName",
                              "src": "3281:7:75",
                              "typeDescriptions": {}
                            }
                          },
                          "id": 5744,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "kind": "typeConversion",
                          "lValueRequested": false,
                          "names": [],
                          "nodeType": "FunctionCall",
                          "src": "3281:18:75",
                          "tryCall": false,
                          "typeDescriptions": {
                            "typeIdentifier": "t_address",
                            "typeString": "address"
                          }
                        },
                        "nodeType": "BinaryOperation",
                        "operator": "!=",
                        "rightExpression": {
                          "arguments": [
                            {
                              "hexValue": "30",
                              "id": 5747,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": true,
                              "kind": "number",
                              "lValueRequested": false,
                              "nodeType": "Literal",
                              "src": "3311:1:75",
                              "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": 5746,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": true,
                            "lValueRequested": false,
                            "nodeType": "ElementaryTypeNameExpression",
                            "src": "3303:7:75",
                            "typeDescriptions": {
                              "typeIdentifier": "t_type$_t_address_$",
                              "typeString": "type(address)"
                            },
                            "typeName": {
                              "id": 5745,
                              "name": "address",
                              "nodeType": "ElementaryTypeName",
                              "src": "3303:7:75",
                              "typeDescriptions": {}
                            }
                          },
                          "id": 5748,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": true,
                          "kind": "typeConversion",
                          "lValueRequested": false,
                          "names": [],
                          "nodeType": "FunctionCall",
                          "src": "3303:10:75",
                          "tryCall": false,
                          "typeDescriptions": {
                            "typeIdentifier": "t_address",
                            "typeString": "address"
                          }
                        },
                        "src": "3281:32:75",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        }
                      }
                    ],
                    "id": 5750,
                    "isConstant": false,
                    "isInlineArray": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "nodeType": "TupleExpression",
                    "src": "3280:34:75",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bool",
                      "typeString": "bool"
                    }
                  },
                  "functionReturnParameters": 5733,
                  "id": 5751,
                  "nodeType": "Return",
                  "src": "3273:41:75"
                }
              ]
            },
            "functionSelector": "4f558e79",
            "id": 5753,
            "implemented": true,
            "kind": "function",
            "modifiers": [],
            "name": "exists",
            "nameLocation": "3167:6:75",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 5730,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 5729,
                  "mutability": "mutable",
                  "name": "id",
                  "nameLocation": "3182:2:75",
                  "nodeType": "VariableDeclaration",
                  "scope": 5753,
                  "src": "3174:10:75",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 5728,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "3174:7:75",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "3173:12:75"
            },
            "returnParameters": {
              "id": 5733,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 5732,
                  "mutability": "mutable",
                  "name": "",
                  "nameLocation": "-1:-1:-1",
                  "nodeType": "VariableDeclaration",
                  "scope": 5753,
                  "src": "3206:4:75",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bool",
                    "typeString": "bool"
                  },
                  "typeName": {
                    "id": 5731,
                    "name": "bool",
                    "nodeType": "ElementaryTypeName",
                    "src": "3206:4:75",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bool",
                      "typeString": "bool"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "3205:6:75"
            },
            "scope": 6504,
            "src": "3158:163:75",
            "stateMutability": "view",
            "virtual": false,
            "visibility": "public"
          },
          {
            "body": {
              "id": 5801,
              "nodeType": "Block",
              "src": "3415:384:75",
              "statements": [
                {
                  "expression": {
                    "arguments": [
                      {
                        "id": 5761,
                        "name": "id",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 5755,
                        "src": "3438:2:75",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      },
                      {
                        "expression": {
                          "expression": {
                            "id": 5762,
                            "name": "IComponent",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 22099,
                            "src": "3442:10:75",
                            "typeDescriptions": {
                              "typeIdentifier": "t_type$_t_contract$_IComponent_$22099_$",
                              "typeString": "type(contract IComponent)"
                            }
                          },
                          "id": 5763,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "memberName": "ComponentState",
                          "nodeType": "MemberAccess",
                          "referencedDeclaration": 22010,
                          "src": "3442:25:75",
                          "typeDescriptions": {
                            "typeIdentifier": "t_type$_t_enum$_ComponentState_$22010_$",
                            "typeString": "type(enum IComponent.ComponentState)"
                          }
                        },
                        "id": 5764,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": true,
                        "lValueRequested": false,
                        "memberName": "Active",
                        "nodeType": "MemberAccess",
                        "referencedDeclaration": 22006,
                        "src": "3442:32:75",
                        "typeDescriptions": {
                          "typeIdentifier": "t_enum$_ComponentState_$22010",
                          "typeString": "enum IComponent.ComponentState"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        },
                        {
                          "typeIdentifier": "t_enum$_ComponentState_$22010",
                          "typeString": "enum IComponent.ComponentState"
                        }
                      ],
                      "id": 5760,
                      "name": "_changeState",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 6366,
                      "src": "3425:12:75",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_internal_nonpayable$_t_uint256_$_t_enum$_ComponentState_$22010_$returns$__$",
                        "typeString": "function (uint256,enum IComponent.ComponentState)"
                      }
                    },
                    "id": 5765,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "3425:50:75",
                    "tryCall": false,
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 5766,
                  "nodeType": "ExpressionStatement",
                  "src": "3425:50:75"
                },
                {
                  "assignments": [
                    5769
                  ],
                  "declarations": [
                    {
                      "constant": false,
                      "id": 5769,
                      "mutability": "mutable",
                      "name": "component",
                      "nameLocation": "3496:9:75",
                      "nodeType": "VariableDeclaration",
                      "scope": 5801,
                      "src": "3485:20:75",
                      "stateVariable": false,
                      "storageLocation": "default",
                      "typeDescriptions": {
                        "typeIdentifier": "t_contract$_IComponent_$22099",
                        "typeString": "contract IComponent"
                      },
                      "typeName": {
                        "id": 5768,
                        "nodeType": "UserDefinedTypeName",
                        "pathNode": {
                          "id": 5767,
                          "name": "IComponent",
                          "nodeType": "IdentifierPath",
                          "referencedDeclaration": 22099,
                          "src": "3485:10:75"
                        },
                        "referencedDeclaration": 22099,
                        "src": "3485:10:75",
                        "typeDescriptions": {
                          "typeIdentifier": "t_contract$_IComponent_$22099",
                          "typeString": "contract IComponent"
                        }
                      },
                      "visibility": "internal"
                    }
                  ],
                  "id": 5773,
                  "initialValue": {
                    "arguments": [
                      {
                        "id": 5771,
                        "name": "id",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 5755,
                        "src": "3521:2:75",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      ],
                      "id": 5770,
                      "name": "getComponent",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 6047,
                      "src": "3508:12:75",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_internal_view$_t_uint256_$returns$_t_contract$_IComponent_$22099_$",
                        "typeString": "function (uint256) view returns (contract IComponent)"
                      }
                    },
                    "id": 5772,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "3508:16:75",
                    "tryCall": false,
                    "typeDescriptions": {
                      "typeIdentifier": "t_contract$_IComponent_$22099",
                      "typeString": "contract IComponent"
                    }
                  },
                  "nodeType": "VariableDeclarationStatement",
                  "src": "3485:39:75"
                },
                {
                  "condition": {
                    "arguments": [
                      {
                        "id": 5775,
                        "name": "id",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 5755,
                        "src": "3549:2:75",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      ],
                      "id": 5774,
                      "name": "isProduct",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 6282,
                      "src": "3539:9:75",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_internal_view$_t_uint256_$returns$_t_bool_$",
                        "typeString": "function (uint256) view returns (bool)"
                      }
                    },
                    "id": 5776,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "3539:13:75",
                    "tryCall": false,
                    "typeDescriptions": {
                      "typeIdentifier": "t_bool",
                      "typeString": "bool"
                    }
                  },
                  "id": 5791,
                  "nodeType": "IfStatement",
                  "src": "3535:117:75",
                  "trueBody": {
                    "id": 5790,
                    "nodeType": "Block",
                    "src": "3554:98:75",
                    "statements": [
                      {
                        "expression": {
                          "id": 5788,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "leftHandSide": {
                            "baseExpression": {
                              "id": 5777,
                              "name": "_policyFlowByProductId",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 5554,
                              "src": "3568:22:75",
                              "typeDescriptions": {
                                "typeIdentifier": "t_mapping$_t_uint256_$_t_address_$",
                                "typeString": "mapping(uint256 => address)"
                              }
                            },
                            "id": 5779,
                            "indexExpression": {
                              "id": 5778,
                              "name": "id",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 5755,
                              "src": "3591:2:75",
                              "typeDescriptions": {
                                "typeIdentifier": "t_uint256",
                                "typeString": "uint256"
                              }
                            },
                            "isConstant": false,
                            "isLValue": true,
                            "isPure": false,
                            "lValueRequested": true,
                            "nodeType": "IndexAccess",
                            "src": "3568:26:75",
                            "typeDescriptions": {
                              "typeIdentifier": "t_address",
                              "typeString": "address"
                            }
                          },
                          "nodeType": "Assignment",
                          "operator": "=",
                          "rightHandSide": {
                            "arguments": [],
                            "expression": {
                              "argumentTypes": [],
                              "expression": {
                                "arguments": [
                                  {
                                    "arguments": [
                                      {
                                        "id": 5783,
                                        "name": "component",
                                        "nodeType": "Identifier",
                                        "overloadedDeclarations": [],
                                        "referencedDeclaration": 5769,
                                        "src": "3614:9:75",
                                        "typeDescriptions": {
                                          "typeIdentifier": "t_contract$_IComponent_$22099",
                                          "typeString": "contract IComponent"
                                        }
                                      }
                                    ],
                                    "expression": {
                                      "argumentTypes": [
                                        {
                                          "typeIdentifier": "t_contract$_IComponent_$22099",
                                          "typeString": "contract IComponent"
                                        }
                                      ],
                                      "id": 5782,
                                      "isConstant": false,
                                      "isLValue": false,
                                      "isPure": true,
                                      "lValueRequested": false,
                                      "nodeType": "ElementaryTypeNameExpression",
                                      "src": "3606:7:75",
                                      "typeDescriptions": {
                                        "typeIdentifier": "t_type$_t_address_$",
                                        "typeString": "type(address)"
                                      },
                                      "typeName": {
                                        "id": 5781,
                                        "name": "address",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "3606:7:75",
                                        "typeDescriptions": {}
                                      }
                                    },
                                    "id": 5784,
                                    "isConstant": false,
                                    "isLValue": false,
                                    "isPure": false,
                                    "kind": "typeConversion",
                                    "lValueRequested": false,
                                    "names": [],
                                    "nodeType": "FunctionCall",
                                    "src": "3606:18:75",
                                    "tryCall": false,
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_address",
                                      "typeString": "address"
                                    }
                                  }
                                ],
                                "expression": {
                                  "argumentTypes": [
                                    {
                                      "typeIdentifier": "t_address",
                                      "typeString": "address"
                                    }
                                  ],
                                  "id": 5780,
                                  "name": "IProduct",
                                  "nodeType": "Identifier",
                                  "overloadedDeclarations": [],
                                  "referencedDeclaration": 21995,
                                  "src": "3597:8:75",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_type$_t_contract$_IProduct_$21995_$",
                                    "typeString": "type(contract IProduct)"
                                  }
                                },
                                "id": 5785,
                                "isConstant": false,
                                "isLValue": false,
                                "isPure": false,
                                "kind": "typeConversion",
                                "lValueRequested": false,
                                "names": [],
                                "nodeType": "FunctionCall",
                                "src": "3597:28:75",
                                "tryCall": false,
                                "typeDescriptions": {
                                  "typeIdentifier": "t_contract$_IProduct_$21995",
                                  "typeString": "contract IProduct"
                                }
                              },
                              "id": 5786,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": false,
                              "lValueRequested": false,
                              "memberName": "getPolicyFlow",
                              "nodeType": "MemberAccess",
                              "referencedDeclaration": 21969,
                              "src": "3597:42:75",
                              "typeDescriptions": {
                                "typeIdentifier": "t_function_external_view$__$returns$_t_address_$",
                                "typeString": "function () view external returns (address)"
                              }
                            },
                            "id": 5787,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": false,
                            "kind": "functionCall",
                            "lValueRequested": false,
                            "names": [],
                            "nodeType": "FunctionCall",
                            "src": "3597:44:75",
                            "tryCall": false,
                            "typeDescriptions": {
                              "typeIdentifier": "t_address",
                              "typeString": "address"
                            }
                          },
                          "src": "3568:73:75",
                          "typeDescriptions": {
                            "typeIdentifier": "t_address",
                            "typeString": "address"
                          }
                        },
                        "id": 5789,
                        "nodeType": "ExpressionStatement",
                        "src": "3568:73:75"
                      }
                    ]
                  }
                },
                {
                  "eventCall": {
                    "arguments": [
                      {
                        "id": 5793,
                        "name": "id",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 5755,
                        "src": "3688:2:75",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      ],
                      "id": 5792,
                      "name": "LogComponentApproved",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 22384,
                      "src": "3667:20:75",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_event_nonpayable$_t_uint256_$returns$__$",
                        "typeString": "function (uint256)"
                      }
                    },
                    "id": 5794,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "3667:24:75",
                    "tryCall": false,
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 5795,
                  "nodeType": "EmitStatement",
                  "src": "3662:29:75"
                },
                {
                  "expression": {
                    "arguments": [],
                    "expression": {
                      "argumentTypes": [],
                      "expression": {
                        "id": 5796,
                        "name": "component",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 5769,
                        "src": "3764:9:75",
                        "typeDescriptions": {
                          "typeIdentifier": "t_contract$_IComponent_$22099",
                          "typeString": "contract IComponent"
                        }
                      },
                      "id": 5798,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "memberName": "approvalCallback",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 22080,
                      "src": "3764:26:75",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_external_nonpayable$__$returns$__$",
                        "typeString": "function () external"
                      }
                    },
                    "id": 5799,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "3764:28:75",
                    "tryCall": false,
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 5800,
                  "nodeType": "ExpressionStatement",
                  "src": "3764:28:75"
                }
              ]
            },
            "functionSelector": "b759f954",
            "id": 5802,
            "implemented": true,
            "kind": "function",
            "modifiers": [
              {
                "id": 5758,
                "modifierName": {
                  "id": 5757,
                  "name": "onlyInstanceOperatorService",
                  "nodeType": "IdentifierPath",
                  "referencedDeclaration": 5582,
                  "src": "3382:27:75"
                },
                "nodeType": "ModifierInvocation",
                "src": "3382:27:75"
              }
            ],
            "name": "approve",
            "nameLocation": "3336:7:75",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 5756,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 5755,
                  "mutability": "mutable",
                  "name": "id",
                  "nameLocation": "3352:2:75",
                  "nodeType": "VariableDeclaration",
                  "scope": 5802,
                  "src": "3344:10:75",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 5754,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "3344:7:75",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "3343:12:75"
            },
            "returnParameters": {
              "id": 5759,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "3415:0:75"
            },
            "scope": 6504,
            "src": "3327:472:75",
            "stateMutability": "nonpayable",
            "virtual": false,
            "visibility": "external"
          },
          {
            "body": {
              "id": 5832,
              "nodeType": "Block",
              "src": "3893:245:75",
              "statements": [
                {
                  "expression": {
                    "arguments": [
                      {
                        "id": 5810,
                        "name": "id",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 5804,
                        "src": "3916:2:75",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      },
                      {
                        "expression": {
                          "expression": {
                            "id": 5811,
                            "name": "IComponent",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 22099,
                            "src": "3920:10:75",
                            "typeDescriptions": {
                              "typeIdentifier": "t_type$_t_contract$_IComponent_$22099_$",
                              "typeString": "type(contract IComponent)"
                            }
                          },
                          "id": 5812,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "memberName": "ComponentState",
                          "nodeType": "MemberAccess",
                          "referencedDeclaration": 22010,
                          "src": "3920:25:75",
                          "typeDescriptions": {
                            "typeIdentifier": "t_type$_t_enum$_ComponentState_$22010_$",
                            "typeString": "type(enum IComponent.ComponentState)"
                          }
                        },
                        "id": 5813,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": true,
                        "lValueRequested": false,
                        "memberName": "Declined",
                        "nodeType": "MemberAccess",
                        "referencedDeclaration": 22005,
                        "src": "3920:34:75",
                        "typeDescriptions": {
                          "typeIdentifier": "t_enum$_ComponentState_$22010",
                          "typeString": "enum IComponent.ComponentState"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        },
                        {
                          "typeIdentifier": "t_enum$_ComponentState_$22010",
                          "typeString": "enum IComponent.ComponentState"
                        }
                      ],
                      "id": 5809,
                      "name": "_changeState",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 6366,
                      "src": "3903:12:75",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_internal_nonpayable$_t_uint256_$_t_enum$_ComponentState_$22010_$returns$__$",
                        "typeString": "function (uint256,enum IComponent.ComponentState)"
                      }
                    },
                    "id": 5814,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "3903:52:75",
                    "tryCall": false,
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 5815,
                  "nodeType": "ExpressionStatement",
                  "src": "3903:52:75"
                },
                {
                  "eventCall": {
                    "arguments": [
                      {
                        "id": 5817,
                        "name": "id",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 5804,
                        "src": "3991:2:75",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      ],
                      "id": 5816,
                      "name": "LogComponentDeclined",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 22388,
                      "src": "3970:20:75",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_event_nonpayable$_t_uint256_$returns$__$",
                        "typeString": "function (uint256)"
                      }
                    },
                    "id": 5818,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "3970:24:75",
                    "tryCall": false,
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 5819,
                  "nodeType": "EmitStatement",
                  "src": "3965:29:75"
                },
                {
                  "assignments": [
                    5822
                  ],
                  "declarations": [
                    {
                      "constant": false,
                      "id": 5822,
                      "mutability": "mutable",
                      "name": "component",
                      "nameLocation": "4066:9:75",
                      "nodeType": "VariableDeclaration",
                      "scope": 5832,
                      "src": "4055:20:75",
                      "stateVariable": false,
                      "storageLocation": "default",
                      "typeDescriptions": {
                        "typeIdentifier": "t_contract$_IComponent_$22099",
                        "typeString": "contract IComponent"
                      },
                      "typeName": {
                        "id": 5821,
                        "nodeType": "UserDefinedTypeName",
                        "pathNode": {
                          "id": 5820,
                          "name": "IComponent",
                          "nodeType": "IdentifierPath",
                          "referencedDeclaration": 22099,
                          "src": "4055:10:75"
                        },
                        "referencedDeclaration": 22099,
                        "src": "4055:10:75",
                        "typeDescriptions": {
                          "typeIdentifier": "t_contract$_IComponent_$22099",
                          "typeString": "contract IComponent"
                        }
                      },
                      "visibility": "internal"
                    }
                  ],
                  "id": 5826,
                  "initialValue": {
                    "arguments": [
                      {
                        "id": 5824,
                        "name": "id",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 5804,
                        "src": "4091:2:75",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      ],
                      "id": 5823,
                      "name": "getComponent",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 6047,
                      "src": "4078:12:75",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_internal_view$_t_uint256_$returns$_t_contract$_IComponent_$22099_$",
                        "typeString": "function (uint256) view returns (contract IComponent)"
                      }
                    },
                    "id": 5825,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "4078:16:75",
                    "tryCall": false,
                    "typeDescriptions": {
                      "typeIdentifier": "t_contract$_IComponent_$22099",
                      "typeString": "contract IComponent"
                    }
                  },
                  "nodeType": "VariableDeclarationStatement",
                  "src": "4055:39:75"
                },
                {
                  "expression": {
                    "arguments": [],
                    "expression": {
                      "argumentTypes": [],
                      "expression": {
                        "id": 5827,
                        "name": "component",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 5822,
                        "src": "4104:9:75",
                        "typeDescriptions": {
                          "typeIdentifier": "t_contract$_IComponent_$22099",
                          "typeString": "contract IComponent"
                        }
                      },
                      "id": 5829,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "memberName": "declineCallback",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 22083,
                      "src": "4104:25:75",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_external_nonpayable$__$returns$__$",
                        "typeString": "function () external"
                      }
                    },
                    "id": 5830,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "4104:27:75",
                    "tryCall": false,
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 5831,
                  "nodeType": "ExpressionStatement",
                  "src": "4104:27:75"
                }
              ]
            },
            "functionSelector": "a0355f4e",
            "id": 5833,
            "implemented": true,
            "kind": "function",
            "modifiers": [
              {
                "id": 5807,
                "modifierName": {
                  "id": 5806,
                  "name": "onlyInstanceOperatorService",
                  "nodeType": "IdentifierPath",
                  "referencedDeclaration": 5582,
                  "src": "3860:27:75"
                },
                "nodeType": "ModifierInvocation",
                "src": "3860:27:75"
              }
            ],
            "name": "decline",
            "nameLocation": "3814:7:75",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 5805,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 5804,
                  "mutability": "mutable",
                  "name": "id",
                  "nameLocation": "3830:2:75",
                  "nodeType": "VariableDeclaration",
                  "scope": 5833,
                  "src": "3822:10:75",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 5803,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "3822:7:75",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "3821:12:75"
            },
            "returnParameters": {
              "id": 5808,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "3893:0:75"
            },
            "scope": 6504,
            "src": "3805:333:75",
            "stateMutability": "nonpayable",
            "virtual": false,
            "visibility": "external"
          },
          {
            "body": {
              "id": 5863,
              "nodeType": "Block",
              "src": "4233:250:75",
              "statements": [
                {
                  "expression": {
                    "arguments": [
                      {
                        "id": 5841,
                        "name": "id",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 5835,
                        "src": "4256:2:75",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      },
                      {
                        "expression": {
                          "expression": {
                            "id": 5842,
                            "name": "IComponent",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 22099,
                            "src": "4260:10:75",
                            "typeDescriptions": {
                              "typeIdentifier": "t_type$_t_contract$_IComponent_$22099_$",
                              "typeString": "type(contract IComponent)"
                            }
                          },
                          "id": 5843,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "memberName": "ComponentState",
                          "nodeType": "MemberAccess",
                          "referencedDeclaration": 22010,
                          "src": "4260:25:75",
                          "typeDescriptions": {
                            "typeIdentifier": "t_type$_t_enum$_ComponentState_$22010_$",
                            "typeString": "type(enum IComponent.ComponentState)"
                          }
                        },
                        "id": 5844,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": true,
                        "lValueRequested": false,
                        "memberName": "Suspended",
                        "nodeType": "MemberAccess",
                        "referencedDeclaration": 22008,
                        "src": "4260:35:75",
                        "typeDescriptions": {
                          "typeIdentifier": "t_enum$_ComponentState_$22010",
                          "typeString": "enum IComponent.ComponentState"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        },
                        {
                          "typeIdentifier": "t_enum$_ComponentState_$22010",
                          "typeString": "enum IComponent.ComponentState"
                        }
                      ],
                      "id": 5840,
                      "name": "_changeState",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 6366,
                      "src": "4243:12:75",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_internal_nonpayable$_t_uint256_$_t_enum$_ComponentState_$22010_$returns$__$",
                        "typeString": "function (uint256,enum IComponent.ComponentState)"
                      }
                    },
                    "id": 5845,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "4243:53:75",
                    "tryCall": false,
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 5846,
                  "nodeType": "ExpressionStatement",
                  "src": "4243:53:75"
                },
                {
                  "eventCall": {
                    "arguments": [
                      {
                        "id": 5848,
                        "name": "id",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 5835,
                        "src": "4333:2:75",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      ],
                      "id": 5847,
                      "name": "LogComponentSuspended",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 22392,
                      "src": "4311:21:75",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_event_nonpayable$_t_uint256_$returns$__$",
                        "typeString": "function (uint256)"
                      }
                    },
                    "id": 5849,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "4311:25:75",
                    "tryCall": false,
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 5850,
                  "nodeType": "EmitStatement",
                  "src": "4306:30:75"
                },
                {
                  "assignments": [
                    5853
                  ],
                  "declarations": [
                    {
                      "constant": false,
                      "id": 5853,
                      "mutability": "mutable",
                      "name": "component",
                      "nameLocation": "4411:9:75",
                      "nodeType": "VariableDeclaration",
                      "scope": 5863,
                      "src": "4400:20:75",
                      "stateVariable": false,
                      "storageLocation": "default",
                      "typeDescriptions": {
                        "typeIdentifier": "t_contract$_IComponent_$22099",
                        "typeString": "contract IComponent"
                      },
                      "typeName": {
                        "id": 5852,
                        "nodeType": "UserDefinedTypeName",
                        "pathNode": {
                          "id": 5851,
                          "name": "IComponent",
                          "nodeType": "IdentifierPath",
                          "referencedDeclaration": 22099,
                          "src": "4400:10:75"
                        },
                        "referencedDeclaration": 22099,
                        "src": "4400:10:75",
                        "typeDescriptions": {
                          "typeIdentifier": "t_contract$_IComponent_$22099",
                          "typeString": "contract IComponent"
                        }
                      },
                      "visibility": "internal"
                    }
                  ],
                  "id": 5857,
                  "initialValue": {
                    "arguments": [
                      {
                        "id": 5855,
                        "name": "id",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 5835,
                        "src": "4436:2:75",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      ],
                      "id": 5854,
                      "name": "getComponent",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 6047,
                      "src": "4423:12:75",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_internal_view$_t_uint256_$returns$_t_contract$_IComponent_$22099_$",
                        "typeString": "function (uint256) view returns (contract IComponent)"
                      }
                    },
                    "id": 5856,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "4423:16:75",
                    "tryCall": false,
                    "typeDescriptions": {
                      "typeIdentifier": "t_contract$_IComponent_$22099",
                      "typeString": "contract IComponent"
                    }
                  },
                  "nodeType": "VariableDeclarationStatement",
                  "src": "4400:39:75"
                },
                {
                  "expression": {
                    "arguments": [],
                    "expression": {
                      "argumentTypes": [],
                      "expression": {
                        "id": 5858,
                        "name": "component",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 5853,
                        "src": "4449:9:75",
                        "typeDescriptions": {
                          "typeIdentifier": "t_contract$_IComponent_$22099",
                          "typeString": "contract IComponent"
                        }
                      },
                      "id": 5860,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "memberName": "suspendCallback",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 22086,
                      "src": "4449:25:75",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_external_nonpayable$__$returns$__$",
                        "typeString": "function () external"
                      }
                    },
                    "id": 5861,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "4449:27:75",
                    "tryCall": false,
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 5862,
                  "nodeType": "ExpressionStatement",
                  "src": "4449:27:75"
                }
              ]
            },
            "functionSelector": "4b865846",
            "id": 5864,
            "implemented": true,
            "kind": "function",
            "modifiers": [
              {
                "id": 5838,
                "modifierName": {
                  "id": 5837,
                  "name": "onlyInstanceOperatorService",
                  "nodeType": "IdentifierPath",
                  "referencedDeclaration": 5582,
                  "src": "4200:27:75"
                },
                "nodeType": "ModifierInvocation",
                "src": "4200:27:75"
              }
            ],
            "name": "suspend",
            "nameLocation": "4153:7:75",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 5836,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 5835,
                  "mutability": "mutable",
                  "name": "id",
                  "nameLocation": "4169:2:75",
                  "nodeType": "VariableDeclaration",
                  "scope": 5864,
                  "src": "4161:10:75",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 5834,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "4161:7:75",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "4160:12:75"
            },
            "returnParameters": {
              "id": 5839,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "4233:0:75"
            },
            "scope": 6504,
            "src": "4144:339:75",
            "stateMutability": "nonpayable",
            "virtual": false,
            "visibility": "external"
          },
          {
            "body": {
              "id": 5894,
              "nodeType": "Block",
              "src": "4577:242:75",
              "statements": [
                {
                  "expression": {
                    "arguments": [
                      {
                        "id": 5872,
                        "name": "id",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 5866,
                        "src": "4600:2:75",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      },
                      {
                        "expression": {
                          "expression": {
                            "id": 5873,
                            "name": "IComponent",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 22099,
                            "src": "4604:10:75",
                            "typeDescriptions": {
                              "typeIdentifier": "t_type$_t_contract$_IComponent_$22099_$",
                              "typeString": "type(contract IComponent)"
                            }
                          },
                          "id": 5874,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "memberName": "ComponentState",
                          "nodeType": "MemberAccess",
                          "referencedDeclaration": 22010,
                          "src": "4604:25:75",
                          "typeDescriptions": {
                            "typeIdentifier": "t_type$_t_enum$_ComponentState_$22010_$",
                            "typeString": "type(enum IComponent.ComponentState)"
                          }
                        },
                        "id": 5875,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": true,
                        "lValueRequested": false,
                        "memberName": "Active",
                        "nodeType": "MemberAccess",
                        "referencedDeclaration": 22006,
                        "src": "4604:32:75",
                        "typeDescriptions": {
                          "typeIdentifier": "t_enum$_ComponentState_$22010",
                          "typeString": "enum IComponent.ComponentState"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        },
                        {
                          "typeIdentifier": "t_enum$_ComponentState_$22010",
                          "typeString": "enum IComponent.ComponentState"
                        }
                      ],
                      "id": 5871,
                      "name": "_changeState",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 6366,
                      "src": "4587:12:75",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_internal_nonpayable$_t_uint256_$_t_enum$_ComponentState_$22010_$returns$__$",
                        "typeString": "function (uint256,enum IComponent.ComponentState)"
                      }
                    },
                    "id": 5876,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "4587:50:75",
                    "tryCall": false,
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 5877,
                  "nodeType": "ExpressionStatement",
                  "src": "4587:50:75"
                },
                {
                  "eventCall": {
                    "arguments": [
                      {
                        "id": 5879,
                        "name": "id",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 5866,
                        "src": "4672:2:75",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      ],
                      "id": 5878,
                      "name": "LogComponentResumed",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 22396,
                      "src": "4652:19:75",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_event_nonpayable$_t_uint256_$returns$__$",
                        "typeString": "function (uint256)"
                      }
                    },
                    "id": 5880,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "4652:23:75",
                    "tryCall": false,
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 5881,
                  "nodeType": "EmitStatement",
                  "src": "4647:28:75"
                },
                {
                  "assignments": [
                    5884
                  ],
                  "declarations": [
                    {
                      "constant": false,
                      "id": 5884,
                      "mutability": "mutable",
                      "name": "component",
                      "nameLocation": "4748:9:75",
                      "nodeType": "VariableDeclaration",
                      "scope": 5894,
                      "src": "4737:20:75",
                      "stateVariable": false,
                      "storageLocation": "default",
                      "typeDescriptions": {
                        "typeIdentifier": "t_contract$_IComponent_$22099",
                        "typeString": "contract IComponent"
                      },
                      "typeName": {
                        "id": 5883,
                        "nodeType": "UserDefinedTypeName",
                        "pathNode": {
                          "id": 5882,
                          "name": "IComponent",
                          "nodeType": "IdentifierPath",
                          "referencedDeclaration": 22099,
                          "src": "4737:10:75"
                        },
                        "referencedDeclaration": 22099,
                        "src": "4737:10:75",
                        "typeDescriptions": {
                          "typeIdentifier": "t_contract$_IComponent_$22099",
                          "typeString": "contract IComponent"
                        }
                      },
                      "visibility": "internal"
                    }
                  ],
                  "id": 5888,
                  "initialValue": {
                    "arguments": [
                      {
                        "id": 5886,
                        "name": "id",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 5866,
                        "src": "4773:2:75",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      ],
                      "id": 5885,
                      "name": "getComponent",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 6047,
                      "src": "4760:12:75",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_internal_view$_t_uint256_$returns$_t_contract$_IComponent_$22099_$",
                        "typeString": "function (uint256) view returns (contract IComponent)"
                      }
                    },
                    "id": 5887,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "4760:16:75",
                    "tryCall": false,
                    "typeDescriptions": {
                      "typeIdentifier": "t_contract$_IComponent_$22099",
                      "typeString": "contract IComponent"
                    }
                  },
                  "nodeType": "VariableDeclarationStatement",
                  "src": "4737:39:75"
                },
                {
                  "expression": {
                    "arguments": [],
                    "expression": {
                      "argumentTypes": [],
                      "expression": {
                        "id": 5889,
                        "name": "component",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 5884,
                        "src": "4786:9:75",
                        "typeDescriptions": {
                          "typeIdentifier": "t_contract$_IComponent_$22099",
                          "typeString": "contract IComponent"
                        }
                      },
                      "id": 5891,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "memberName": "resumeCallback",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 22089,
                      "src": "4786:24:75",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_external_nonpayable$__$returns$__$",
                        "typeString": "function () external"
                      }
                    },
                    "id": 5892,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "4786:26:75",
                    "tryCall": false,
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 5893,
                  "nodeType": "ExpressionStatement",
                  "src": "4786:26:75"
                }
              ]
            },
            "functionSelector": "414000b5",
            "id": 5895,
            "implemented": true,
            "kind": "function",
            "modifiers": [
              {
                "id": 5869,
                "modifierName": {
                  "id": 5868,
                  "name": "onlyInstanceOperatorService",
                  "nodeType": "IdentifierPath",
                  "referencedDeclaration": 5582,
                  "src": "4544:27:75"
                },
                "nodeType": "ModifierInvocation",
                "src": "4544:27:75"
              }
            ],
            "name": "resume",
            "nameLocation": "4498:6:75",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 5867,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 5866,
                  "mutability": "mutable",
                  "name": "id",
                  "nameLocation": "4513:2:75",
                  "nodeType": "VariableDeclaration",
                  "scope": 5895,
                  "src": "4505:10:75",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 5865,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "4505:7:75",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "4504:12:75"
            },
            "returnParameters": {
              "id": 5870,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "4577:0:75"
            },
            "scope": 6504,
            "src": "4489:330:75",
            "stateMutability": "nonpayable",
            "virtual": false,
            "visibility": "external"
          },
          {
            "body": {
              "id": 5925,
              "nodeType": "Block",
              "src": "4910:239:75",
              "statements": [
                {
                  "expression": {
                    "arguments": [
                      {
                        "id": 5903,
                        "name": "id",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 5897,
                        "src": "4933:2:75",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      },
                      {
                        "expression": {
                          "expression": {
                            "id": 5904,
                            "name": "IComponent",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 22099,
                            "src": "4937:10:75",
                            "typeDescriptions": {
                              "typeIdentifier": "t_type$_t_contract$_IComponent_$22099_$",
                              "typeString": "type(contract IComponent)"
                            }
                          },
                          "id": 5905,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "memberName": "ComponentState",
                          "nodeType": "MemberAccess",
                          "referencedDeclaration": 22010,
                          "src": "4937:25:75",
                          "typeDescriptions": {
                            "typeIdentifier": "t_type$_t_enum$_ComponentState_$22010_$",
                            "typeString": "type(enum IComponent.ComponentState)"
                          }
                        },
                        "id": 5906,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": true,
                        "lValueRequested": false,
                        "memberName": "Paused",
                        "nodeType": "MemberAccess",
                        "referencedDeclaration": 22007,
                        "src": "4937:32:75",
                        "typeDescriptions": {
                          "typeIdentifier": "t_enum$_ComponentState_$22010",
                          "typeString": "enum IComponent.ComponentState"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        },
                        {
                          "typeIdentifier": "t_enum$_ComponentState_$22010",
                          "typeString": "enum IComponent.ComponentState"
                        }
                      ],
                      "id": 5902,
                      "name": "_changeState",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 6366,
                      "src": "4920:12:75",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_internal_nonpayable$_t_uint256_$_t_enum$_ComponentState_$22010_$returns$__$",
                        "typeString": "function (uint256,enum IComponent.ComponentState)"
                      }
                    },
                    "id": 5907,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "4920:50:75",
                    "tryCall": false,
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 5908,
                  "nodeType": "ExpressionStatement",
                  "src": "4920:50:75"
                },
                {
                  "eventCall": {
                    "arguments": [
                      {
                        "id": 5910,
                        "name": "id",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 5897,
                        "src": "5004:2:75",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      ],
                      "id": 5909,
                      "name": "LogComponentPaused",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 22400,
                      "src": "4985:18:75",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_event_nonpayable$_t_uint256_$returns$__$",
                        "typeString": "function (uint256)"
                      }
                    },
                    "id": 5911,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "4985:22:75",
                    "tryCall": false,
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 5912,
                  "nodeType": "EmitStatement",
                  "src": "4980:27:75"
                },
                {
                  "assignments": [
                    5915
                  ],
                  "declarations": [
                    {
                      "constant": false,
                      "id": 5915,
                      "mutability": "mutable",
                      "name": "component",
                      "nameLocation": "5079:9:75",
                      "nodeType": "VariableDeclaration",
                      "scope": 5925,
                      "src": "5068:20:75",
                      "stateVariable": false,
                      "storageLocation": "default",
                      "typeDescriptions": {
                        "typeIdentifier": "t_contract$_IComponent_$22099",
                        "typeString": "contract IComponent"
                      },
                      "typeName": {
                        "id": 5914,
                        "nodeType": "UserDefinedTypeName",
                        "pathNode": {
                          "id": 5913,
                          "name": "IComponent",
                          "nodeType": "IdentifierPath",
                          "referencedDeclaration": 22099,
                          "src": "5068:10:75"
                        },
                        "referencedDeclaration": 22099,
                        "src": "5068:10:75",
                        "typeDescriptions": {
                          "typeIdentifier": "t_contract$_IComponent_$22099",
                          "typeString": "contract IComponent"
                        }
                      },
                      "visibility": "internal"
                    }
                  ],
                  "id": 5919,
                  "initialValue": {
                    "arguments": [
                      {
                        "id": 5917,
                        "name": "id",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 5897,
                        "src": "5104:2:75",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      ],
                      "id": 5916,
                      "name": "getComponent",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 6047,
                      "src": "5091:12:75",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_internal_view$_t_uint256_$returns$_t_contract$_IComponent_$22099_$",
                        "typeString": "function (uint256) view returns (contract IComponent)"
                      }
                    },
                    "id": 5918,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "5091:16:75",
                    "tryCall": false,
                    "typeDescriptions": {
                      "typeIdentifier": "t_contract$_IComponent_$22099",
                      "typeString": "contract IComponent"
                    }
                  },
                  "nodeType": "VariableDeclarationStatement",
                  "src": "5068:39:75"
                },
                {
                  "expression": {
                    "arguments": [],
                    "expression": {
                      "argumentTypes": [],
                      "expression": {
                        "id": 5920,
                        "name": "component",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 5915,
                        "src": "5117:9:75",
                        "typeDescriptions": {
                          "typeIdentifier": "t_contract$_IComponent_$22099",
                          "typeString": "contract IComponent"
                        }
                      },
                      "id": 5922,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "memberName": "pauseCallback",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 22092,
                      "src": "5117:23:75",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_external_nonpayable$__$returns$__$",
                        "typeString": "function () external"
                      }
                    },
                    "id": 5923,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "5117:25:75",
                    "tryCall": false,
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 5924,
                  "nodeType": "ExpressionStatement",
                  "src": "5117:25:75"
                }
              ]
            },
            "functionSelector": "136439dd",
            "id": 5926,
            "implemented": true,
            "kind": "function",
            "modifiers": [
              {
                "id": 5900,
                "modifierName": {
                  "id": 5899,
                  "name": "onlyComponentOwnerService",
                  "nodeType": "IdentifierPath",
                  "referencedDeclaration": 5568,
                  "src": "4879:25:75"
                },
                "nodeType": "ModifierInvocation",
                "src": "4879:25:75"
              }
            ],
            "name": "pause",
            "nameLocation": "4834:5:75",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 5898,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 5897,
                  "mutability": "mutable",
                  "name": "id",
                  "nameLocation": "4848:2:75",
                  "nodeType": "VariableDeclaration",
                  "scope": 5926,
                  "src": "4840:10:75",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 5896,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "4840:7:75",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "4839:12:75"
            },
            "returnParameters": {
              "id": 5901,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "4910:0:75"
            },
            "scope": 6504,
            "src": "4825:324:75",
            "stateMutability": "nonpayable",
            "virtual": false,
            "visibility": "external"
          },
          {
            "body": {
              "id": 5956,
              "nodeType": "Block",
              "src": "5242:245:75",
              "statements": [
                {
                  "expression": {
                    "arguments": [
                      {
                        "id": 5934,
                        "name": "id",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 5928,
                        "src": "5265:2:75",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      },
                      {
                        "expression": {
                          "expression": {
                            "id": 5935,
                            "name": "IComponent",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 22099,
                            "src": "5269:10:75",
                            "typeDescriptions": {
                              "typeIdentifier": "t_type$_t_contract$_IComponent_$22099_$",
                              "typeString": "type(contract IComponent)"
                            }
                          },
                          "id": 5936,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "memberName": "ComponentState",
                          "nodeType": "MemberAccess",
                          "referencedDeclaration": 22010,
                          "src": "5269:25:75",
                          "typeDescriptions": {
                            "typeIdentifier": "t_type$_t_enum$_ComponentState_$22010_$",
                            "typeString": "type(enum IComponent.ComponentState)"
                          }
                        },
                        "id": 5937,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": true,
                        "lValueRequested": false,
                        "memberName": "Active",
                        "nodeType": "MemberAccess",
                        "referencedDeclaration": 22006,
                        "src": "5269:32:75",
                        "typeDescriptions": {
                          "typeIdentifier": "t_enum$_ComponentState_$22010",
                          "typeString": "enum IComponent.ComponentState"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        },
                        {
                          "typeIdentifier": "t_enum$_ComponentState_$22010",
                          "typeString": "enum IComponent.ComponentState"
                        }
                      ],
                      "id": 5933,
                      "name": "_changeState",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 6366,
                      "src": "5252:12:75",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_internal_nonpayable$_t_uint256_$_t_enum$_ComponentState_$22010_$returns$__$",
                        "typeString": "function (uint256,enum IComponent.ComponentState)"
                      }
                    },
                    "id": 5938,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "5252:50:75",
                    "tryCall": false,
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 5939,
                  "nodeType": "ExpressionStatement",
                  "src": "5252:50:75"
                },
                {
                  "eventCall": {
                    "arguments": [
                      {
                        "id": 5941,
                        "name": "id",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 5928,
                        "src": "5338:2:75",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      ],
                      "id": 5940,
                      "name": "LogComponentUnpaused",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 22404,
                      "src": "5317:20:75",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_event_nonpayable$_t_uint256_$returns$__$",
                        "typeString": "function (uint256)"
                      }
                    },
                    "id": 5942,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "5317:24:75",
                    "tryCall": false,
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 5943,
                  "nodeType": "EmitStatement",
                  "src": "5312:29:75"
                },
                {
                  "assignments": [
                    5946
                  ],
                  "declarations": [
                    {
                      "constant": false,
                      "id": 5946,
                      "mutability": "mutable",
                      "name": "component",
                      "nameLocation": "5415:9:75",
                      "nodeType": "VariableDeclaration",
                      "scope": 5956,
                      "src": "5404:20:75",
                      "stateVariable": false,
                      "storageLocation": "default",
                      "typeDescriptions": {
                        "typeIdentifier": "t_contract$_IComponent_$22099",
                        "typeString": "contract IComponent"
                      },
                      "typeName": {
                        "id": 5945,
                        "nodeType": "UserDefinedTypeName",
                        "pathNode": {
                          "id": 5944,
                          "name": "IComponent",
                          "nodeType": "IdentifierPath",
                          "referencedDeclaration": 22099,
                          "src": "5404:10:75"
                        },
                        "referencedDeclaration": 22099,
                        "src": "5404:10:75",
                        "typeDescriptions": {
                          "typeIdentifier": "t_contract$_IComponent_$22099",
                          "typeString": "contract IComponent"
                        }
                      },
                      "visibility": "internal"
                    }
                  ],
                  "id": 5950,
                  "initialValue": {
                    "arguments": [
                      {
                        "id": 5948,
                        "name": "id",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 5928,
                        "src": "5440:2:75",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      ],
                      "id": 5947,
                      "name": "getComponent",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 6047,
                      "src": "5427:12:75",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_internal_view$_t_uint256_$returns$_t_contract$_IComponent_$22099_$",
                        "typeString": "function (uint256) view returns (contract IComponent)"
                      }
                    },
                    "id": 5949,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "5427:16:75",
                    "tryCall": false,
                    "typeDescriptions": {
                      "typeIdentifier": "t_contract$_IComponent_$22099",
                      "typeString": "contract IComponent"
                    }
                  },
                  "nodeType": "VariableDeclarationStatement",
                  "src": "5404:39:75"
                },
                {
                  "expression": {
                    "arguments": [],
                    "expression": {
                      "argumentTypes": [],
                      "expression": {
                        "id": 5951,
                        "name": "component",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 5946,
                        "src": "5453:9:75",
                        "typeDescriptions": {
                          "typeIdentifier": "t_contract$_IComponent_$22099",
                          "typeString": "contract IComponent"
                        }
                      },
                      "id": 5953,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "memberName": "unpauseCallback",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 22095,
                      "src": "5453:25:75",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_external_nonpayable$__$returns$__$",
                        "typeString": "function () external"
                      }
                    },
                    "id": 5954,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "5453:27:75",
                    "tryCall": false,
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 5955,
                  "nodeType": "ExpressionStatement",
                  "src": "5453:27:75"
                }
              ]
            },
            "functionSelector": "fabc1cbc",
            "id": 5957,
            "implemented": true,
            "kind": "function",
            "modifiers": [
              {
                "id": 5931,
                "modifierName": {
                  "id": 5930,
                  "name": "onlyComponentOwnerService",
                  "nodeType": "IdentifierPath",
                  "referencedDeclaration": 5568,
                  "src": "5211:25:75"
                },
                "nodeType": "ModifierInvocation",
                "src": "5211:25:75"
              }
            ],
            "name": "unpause",
            "nameLocation": "5164:7:75",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 5929,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 5928,
                  "mutability": "mutable",
                  "name": "id",
                  "nameLocation": "5180:2:75",
                  "nodeType": "VariableDeclaration",
                  "scope": 5957,
                  "src": "5172:10:75",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 5927,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "5172:7:75",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "5171:12:75"
            },
            "returnParameters": {
              "id": 5932,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "5242:0:75"
            },
            "scope": 6504,
            "src": "5155:332:75",
            "stateMutability": "nonpayable",
            "virtual": false,
            "visibility": "external"
          },
          {
            "body": {
              "id": 5987,
              "nodeType": "Block",
              "src": "5598:247:75",
              "statements": [
                {
                  "expression": {
                    "arguments": [
                      {
                        "id": 5965,
                        "name": "id",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 5959,
                        "src": "5621:2:75",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      },
                      {
                        "expression": {
                          "expression": {
                            "id": 5966,
                            "name": "IComponent",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 22099,
                            "src": "5625:10:75",
                            "typeDescriptions": {
                              "typeIdentifier": "t_type$_t_contract$_IComponent_$22099_$",
                              "typeString": "type(contract IComponent)"
                            }
                          },
                          "id": 5967,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "memberName": "ComponentState",
                          "nodeType": "MemberAccess",
                          "referencedDeclaration": 22010,
                          "src": "5625:25:75",
                          "typeDescriptions": {
                            "typeIdentifier": "t_type$_t_enum$_ComponentState_$22010_$",
                            "typeString": "type(enum IComponent.ComponentState)"
                          }
                        },
                        "id": 5968,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": true,
                        "lValueRequested": false,
                        "memberName": "Archived",
                        "nodeType": "MemberAccess",
                        "referencedDeclaration": 22009,
                        "src": "5625:34:75",
                        "typeDescriptions": {
                          "typeIdentifier": "t_enum$_ComponentState_$22010",
                          "typeString": "enum IComponent.ComponentState"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        },
                        {
                          "typeIdentifier": "t_enum$_ComponentState_$22010",
                          "typeString": "enum IComponent.ComponentState"
                        }
                      ],
                      "id": 5964,
                      "name": "_changeState",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 6366,
                      "src": "5608:12:75",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_internal_nonpayable$_t_uint256_$_t_enum$_ComponentState_$22010_$returns$__$",
                        "typeString": "function (uint256,enum IComponent.ComponentState)"
                      }
                    },
                    "id": 5969,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "5608:52:75",
                    "tryCall": false,
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 5970,
                  "nodeType": "ExpressionStatement",
                  "src": "5608:52:75"
                },
                {
                  "eventCall": {
                    "arguments": [
                      {
                        "id": 5972,
                        "name": "id",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 5959,
                        "src": "5696:2:75",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      ],
                      "id": 5971,
                      "name": "LogComponentArchived",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 22408,
                      "src": "5675:20:75",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_event_nonpayable$_t_uint256_$returns$__$",
                        "typeString": "function (uint256)"
                      }
                    },
                    "id": 5973,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "5675:24:75",
                    "tryCall": false,
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 5974,
                  "nodeType": "EmitStatement",
                  "src": "5670:29:75"
                },
                {
                  "assignments": [
                    5977
                  ],
                  "declarations": [
                    {
                      "constant": false,
                      "id": 5977,
                      "mutability": "mutable",
                      "name": "component",
                      "nameLocation": "5773:9:75",
                      "nodeType": "VariableDeclaration",
                      "scope": 5987,
                      "src": "5762:20:75",
                      "stateVariable": false,
                      "storageLocation": "default",
                      "typeDescriptions": {
                        "typeIdentifier": "t_contract$_IComponent_$22099",
                        "typeString": "contract IComponent"
                      },
                      "typeName": {
                        "id": 5976,
                        "nodeType": "UserDefinedTypeName",
                        "pathNode": {
                          "id": 5975,
                          "name": "IComponent",
                          "nodeType": "IdentifierPath",
                          "referencedDeclaration": 22099,
                          "src": "5762:10:75"
                        },
                        "referencedDeclaration": 22099,
                        "src": "5762:10:75",
                        "typeDescriptions": {
                          "typeIdentifier": "t_contract$_IComponent_$22099",
                          "typeString": "contract IComponent"
                        }
                      },
                      "visibility": "internal"
                    }
                  ],
                  "id": 5981,
                  "initialValue": {
                    "arguments": [
                      {
                        "id": 5979,
                        "name": "id",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 5959,
                        "src": "5798:2:75",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      ],
                      "id": 5978,
                      "name": "getComponent",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 6047,
                      "src": "5785:12:75",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_internal_view$_t_uint256_$returns$_t_contract$_IComponent_$22099_$",
                        "typeString": "function (uint256) view returns (contract IComponent)"
                      }
                    },
                    "id": 5980,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "5785:16:75",
                    "tryCall": false,
                    "typeDescriptions": {
                      "typeIdentifier": "t_contract$_IComponent_$22099",
                      "typeString": "contract IComponent"
                    }
                  },
                  "nodeType": "VariableDeclarationStatement",
                  "src": "5762:39:75"
                },
                {
                  "expression": {
                    "arguments": [],
                    "expression": {
                      "argumentTypes": [],
                      "expression": {
                        "id": 5982,
                        "name": "component",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 5977,
                        "src": "5811:9:75",
                        "typeDescriptions": {
                          "typeIdentifier": "t_contract$_IComponent_$22099",
                          "typeString": "contract IComponent"
                        }
                      },
                      "id": 5984,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "memberName": "archiveCallback",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 22098,
                      "src": "5811:25:75",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_external_nonpayable$__$returns$__$",
                        "typeString": "function () external"
                      }
                    },
                    "id": 5985,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "5811:27:75",
                    "tryCall": false,
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 5986,
                  "nodeType": "ExpressionStatement",
                  "src": "5811:27:75"
                }
              ]
            },
            "functionSelector": "6bc607b3",
            "id": 5988,
            "implemented": true,
            "kind": "function",
            "modifiers": [
              {
                "id": 5962,
                "modifierName": {
                  "id": 5961,
                  "name": "onlyComponentOwnerService",
                  "nodeType": "IdentifierPath",
                  "referencedDeclaration": 5568,
                  "src": "5567:25:75"
                },
                "nodeType": "ModifierInvocation",
                "src": "5567:25:75"
              }
            ],
            "name": "archiveFromComponentOwner",
            "nameLocation": "5502:25:75",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 5960,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 5959,
                  "mutability": "mutable",
                  "name": "id",
                  "nameLocation": "5536:2:75",
                  "nodeType": "VariableDeclaration",
                  "scope": 5988,
                  "src": "5528:10:75",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 5958,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "5528:7:75",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "5527:12:75"
            },
            "returnParameters": {
              "id": 5963,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "5598:0:75"
            },
            "scope": 6504,
            "src": "5493:352:75",
            "stateMutability": "nonpayable",
            "virtual": false,
            "visibility": "external"
          },
          {
            "body": {
              "id": 6018,
              "nodeType": "Block",
              "src": "5960:247:75",
              "statements": [
                {
                  "expression": {
                    "arguments": [
                      {
                        "id": 5996,
                        "name": "id",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 5990,
                        "src": "5983:2:75",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      },
                      {
                        "expression": {
                          "expression": {
                            "id": 5997,
                            "name": "IComponent",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 22099,
                            "src": "5987:10:75",
                            "typeDescriptions": {
                              "typeIdentifier": "t_type$_t_contract$_IComponent_$22099_$",
                              "typeString": "type(contract IComponent)"
                            }
                          },
                          "id": 5998,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "memberName": "ComponentState",
                          "nodeType": "MemberAccess",
                          "referencedDeclaration": 22010,
                          "src": "5987:25:75",
                          "typeDescriptions": {
                            "typeIdentifier": "t_type$_t_enum$_ComponentState_$22010_$",
                            "typeString": "type(enum IComponent.ComponentState)"
                          }
                        },
                        "id": 5999,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": true,
                        "lValueRequested": false,
                        "memberName": "Archived",
                        "nodeType": "MemberAccess",
                        "referencedDeclaration": 22009,
                        "src": "5987:34:75",
                        "typeDescriptions": {
                          "typeIdentifier": "t_enum$_ComponentState_$22010",
                          "typeString": "enum IComponent.ComponentState"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        },
                        {
                          "typeIdentifier": "t_enum$_ComponentState_$22010",
                          "typeString": "enum IComponent.ComponentState"
                        }
                      ],
                      "id": 5995,
                      "name": "_changeState",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 6366,
                      "src": "5970:12:75",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_internal_nonpayable$_t_uint256_$_t_enum$_ComponentState_$22010_$returns$__$",
                        "typeString": "function (uint256,enum IComponent.ComponentState)"
                      }
                    },
                    "id": 6000,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "5970:52:75",
                    "tryCall": false,
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 6001,
                  "nodeType": "ExpressionStatement",
                  "src": "5970:52:75"
                },
                {
                  "eventCall": {
                    "arguments": [
                      {
                        "id": 6003,
                        "name": "id",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 5990,
                        "src": "6058:2:75",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      ],
                      "id": 6002,
                      "name": "LogComponentArchived",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 22408,
                      "src": "6037:20:75",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_event_nonpayable$_t_uint256_$returns$__$",
                        "typeString": "function (uint256)"
                      }
                    },
                    "id": 6004,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "6037:24:75",
                    "tryCall": false,
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 6005,
                  "nodeType": "EmitStatement",
                  "src": "6032:29:75"
                },
                {
                  "assignments": [
                    6008
                  ],
                  "declarations": [
                    {
                      "constant": false,
                      "id": 6008,
                      "mutability": "mutable",
                      "name": "component",
                      "nameLocation": "6135:9:75",
                      "nodeType": "VariableDeclaration",
                      "scope": 6018,
                      "src": "6124:20:75",
                      "stateVariable": false,
                      "storageLocation": "default",
                      "typeDescriptions": {
                        "typeIdentifier": "t_contract$_IComponent_$22099",
                        "typeString": "contract IComponent"
                      },
                      "typeName": {
                        "id": 6007,
                        "nodeType": "UserDefinedTypeName",
                        "pathNode": {
                          "id": 6006,
                          "name": "IComponent",
                          "nodeType": "IdentifierPath",
                          "referencedDeclaration": 22099,
                          "src": "6124:10:75"
                        },
                        "referencedDeclaration": 22099,
                        "src": "6124:10:75",
                        "typeDescriptions": {
                          "typeIdentifier": "t_contract$_IComponent_$22099",
                          "typeString": "contract IComponent"
                        }
                      },
                      "visibility": "internal"
                    }
                  ],
                  "id": 6012,
                  "initialValue": {
                    "arguments": [
                      {
                        "id": 6010,
                        "name": "id",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 5990,
                        "src": "6160:2:75",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      ],
                      "id": 6009,
                      "name": "getComponent",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 6047,
                      "src": "6147:12:75",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_internal_view$_t_uint256_$returns$_t_contract$_IComponent_$22099_$",
                        "typeString": "function (uint256) view returns (contract IComponent)"
                      }
                    },
                    "id": 6011,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "6147:16:75",
                    "tryCall": false,
                    "typeDescriptions": {
                      "typeIdentifier": "t_contract$_IComponent_$22099",
                      "typeString": "contract IComponent"
                    }
                  },
                  "nodeType": "VariableDeclarationStatement",
                  "src": "6124:39:75"
                },
                {
                  "expression": {
                    "arguments": [],
                    "expression": {
                      "argumentTypes": [],
                      "expression": {
                        "id": 6013,
                        "name": "component",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 6008,
                        "src": "6173:9:75",
                        "typeDescriptions": {
                          "typeIdentifier": "t_contract$_IComponent_$22099",
                          "typeString": "contract IComponent"
                        }
                      },
                      "id": 6015,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "memberName": "archiveCallback",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 22098,
                      "src": "6173:25:75",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_external_nonpayable$__$returns$__$",
                        "typeString": "function () external"
                      }
                    },
                    "id": 6016,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "6173:27:75",
                    "tryCall": false,
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 6017,
                  "nodeType": "ExpressionStatement",
                  "src": "6173:27:75"
                }
              ]
            },
            "functionSelector": "0f5da3a6",
            "id": 6019,
            "implemented": true,
            "kind": "function",
            "modifiers": [
              {
                "id": 5993,
                "modifierName": {
                  "id": 5992,
                  "name": "onlyInstanceOperatorService",
                  "nodeType": "IdentifierPath",
                  "referencedDeclaration": 5582,
                  "src": "5927:27:75"
                },
                "nodeType": "ModifierInvocation",
                "src": "5927:27:75"
              }
            ],
            "name": "archiveFromInstanceOperator",
            "nameLocation": "5860:27:75",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 5991,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 5990,
                  "mutability": "mutable",
                  "name": "id",
                  "nameLocation": "5896:2:75",
                  "nodeType": "VariableDeclaration",
                  "scope": 6019,
                  "src": "5888:10:75",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 5989,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "5888:7:75",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "5887:12:75"
            },
            "returnParameters": {
              "id": 5994,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "5960:0:75"
            },
            "scope": 6504,
            "src": "5851:356:75",
            "stateMutability": "nonpayable",
            "virtual": false,
            "visibility": "external"
          },
          {
            "body": {
              "id": 6046,
              "nodeType": "Block",
              "src": "6290:136:75",
              "statements": [
                {
                  "expression": {
                    "id": 6031,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftHandSide": {
                      "id": 6027,
                      "name": "component",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 6025,
                      "src": "6300:9:75",
                      "typeDescriptions": {
                        "typeIdentifier": "t_contract$_IComponent_$22099",
                        "typeString": "contract IComponent"
                      }
                    },
                    "nodeType": "Assignment",
                    "operator": "=",
                    "rightHandSide": {
                      "baseExpression": {
                        "id": 6028,
                        "name": "_componentById",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 5526,
                        "src": "6312:14:75",
                        "typeDescriptions": {
                          "typeIdentifier": "t_mapping$_t_uint256_$_t_contract$_IComponent_$22099_$",
                          "typeString": "mapping(uint256 => contract IComponent)"
                        }
                      },
                      "id": 6030,
                      "indexExpression": {
                        "id": 6029,
                        "name": "id",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 6021,
                        "src": "6327:2:75",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      },
                      "isConstant": false,
                      "isLValue": true,
                      "isPure": false,
                      "lValueRequested": false,
                      "nodeType": "IndexAccess",
                      "src": "6312:18:75",
                      "typeDescriptions": {
                        "typeIdentifier": "t_contract$_IComponent_$22099",
                        "typeString": "contract IComponent"
                      }
                    },
                    "src": "6300:30:75",
                    "typeDescriptions": {
                      "typeIdentifier": "t_contract$_IComponent_$22099",
                      "typeString": "contract IComponent"
                    }
                  },
                  "id": 6032,
                  "nodeType": "ExpressionStatement",
                  "src": "6300:30:75"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "commonType": {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        },
                        "id": 6042,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "lValueRequested": false,
                        "leftExpression": {
                          "arguments": [
                            {
                              "id": 6036,
                              "name": "component",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 6025,
                              "src": "6356:9:75",
                              "typeDescriptions": {
                                "typeIdentifier": "t_contract$_IComponent_$22099",
                                "typeString": "contract IComponent"
                              }
                            }
                          ],
                          "expression": {
                            "argumentTypes": [
                              {
                                "typeIdentifier": "t_contract$_IComponent_$22099",
                                "typeString": "contract IComponent"
                              }
                            ],
                            "id": 6035,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": true,
                            "lValueRequested": false,
                            "nodeType": "ElementaryTypeNameExpression",
                            "src": "6348:7:75",
                            "typeDescriptions": {
                              "typeIdentifier": "t_type$_t_address_$",
                              "typeString": "type(address)"
                            },
                            "typeName": {
                              "id": 6034,
                              "name": "address",
                              "nodeType": "ElementaryTypeName",
                              "src": "6348:7:75",
                              "typeDescriptions": {}
                            }
                          },
                          "id": 6037,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "kind": "typeConversion",
                          "lValueRequested": false,
                          "names": [],
                          "nodeType": "FunctionCall",
                          "src": "6348:18:75",
                          "tryCall": false,
                          "typeDescriptions": {
                            "typeIdentifier": "t_address",
                            "typeString": "address"
                          }
                        },
                        "nodeType": "BinaryOperation",
                        "operator": "!=",
                        "rightExpression": {
                          "arguments": [
                            {
                              "hexValue": "30",
                              "id": 6040,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": true,
                              "kind": "number",
                              "lValueRequested": false,
                              "nodeType": "Literal",
                              "src": "6378:1:75",
                              "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": 6039,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": true,
                            "lValueRequested": false,
                            "nodeType": "ElementaryTypeNameExpression",
                            "src": "6370:7:75",
                            "typeDescriptions": {
                              "typeIdentifier": "t_type$_t_address_$",
                              "typeString": "type(address)"
                            },
                            "typeName": {
                              "id": 6038,
                              "name": "address",
                              "nodeType": "ElementaryTypeName",
                              "src": "6370:7:75",
                              "typeDescriptions": {}
                            }
                          },
                          "id": 6041,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": true,
                          "kind": "typeConversion",
                          "lValueRequested": false,
                          "names": [],
                          "nodeType": "FunctionCall",
                          "src": "6370:10:75",
                          "tryCall": false,
                          "typeDescriptions": {
                            "typeIdentifier": "t_address",
                            "typeString": "address"
                          }
                        },
                        "src": "6348:32:75",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        }
                      },
                      {
                        "hexValue": "4552524f523a4343522d3030353a494e56414c49445f434f4d504f4e454e545f4944",
                        "id": 6043,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": true,
                        "kind": "string",
                        "lValueRequested": false,
                        "nodeType": "Literal",
                        "src": "6382:36:75",
                        "typeDescriptions": {
                          "typeIdentifier": "t_stringliteral_ca1c305a0e9af3ea3550a0a1227e5f520650593127153fff20641c9f0d853894",
                          "typeString": "literal_string \"ERROR:CCR-005:INVALID_COMPONENT_ID\""
                        },
                        "value": "ERROR:CCR-005:INVALID_COMPONENT_ID"
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        },
                        {
                          "typeIdentifier": "t_stringliteral_ca1c305a0e9af3ea3550a0a1227e5f520650593127153fff20641c9f0d853894",
                          "typeString": "literal_string \"ERROR:CCR-005:INVALID_COMPONENT_ID\""
                        }
                      ],
                      "id": 6033,
                      "name": "require",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [
                        -18,
                        -18
                      ],
                      "referencedDeclaration": -18,
                      "src": "6340:7:75",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$",
                        "typeString": "function (bool,string memory) pure"
                      }
                    },
                    "id": 6044,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "6340:79:75",
                    "tryCall": false,
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 6045,
                  "nodeType": "ExpressionStatement",
                  "src": "6340:79:75"
                }
              ]
            },
            "functionSelector": "4f27da18",
            "id": 6047,
            "implemented": true,
            "kind": "function",
            "modifiers": [],
            "name": "getComponent",
            "nameLocation": "6222:12:75",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 6022,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 6021,
                  "mutability": "mutable",
                  "name": "id",
                  "nameLocation": "6243:2:75",
                  "nodeType": "VariableDeclaration",
                  "scope": 6047,
                  "src": "6235:10:75",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 6020,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "6235:7:75",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "6234:12:75"
            },
            "returnParameters": {
              "id": 6026,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 6025,
                  "mutability": "mutable",
                  "name": "component",
                  "nameLocation": "6279:9:75",
                  "nodeType": "VariableDeclaration",
                  "scope": 6047,
                  "src": "6268:20:75",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_contract$_IComponent_$22099",
                    "typeString": "contract IComponent"
                  },
                  "typeName": {
                    "id": 6024,
                    "nodeType": "UserDefinedTypeName",
                    "pathNode": {
                      "id": 6023,
                      "name": "IComponent",
                      "nodeType": "IdentifierPath",
                      "referencedDeclaration": 22099,
                      "src": "6268:10:75"
                    },
                    "referencedDeclaration": 22099,
                    "src": "6268:10:75",
                    "typeDescriptions": {
                      "typeIdentifier": "t_contract$_IComponent_$22099",
                      "typeString": "contract IComponent"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "6267:22:75"
            },
            "scope": 6504,
            "src": "6213:213:75",
            "stateMutability": "view",
            "virtual": false,
            "visibility": "public"
          },
          {
            "body": {
              "id": 6077,
              "nodeType": "Block",
              "src": "6515:211:75",
              "statements": [
                {
                  "expression": {
                    "arguments": [
                      {
                        "commonType": {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        },
                        "id": 6060,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "lValueRequested": false,
                        "leftExpression": {
                          "id": 6055,
                          "name": "componentAddress",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 6049,
                          "src": "6533:16:75",
                          "typeDescriptions": {
                            "typeIdentifier": "t_address",
                            "typeString": "address"
                          }
                        },
                        "nodeType": "BinaryOperation",
                        "operator": "!=",
                        "rightExpression": {
                          "arguments": [
                            {
                              "hexValue": "30",
                              "id": 6058,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": true,
                              "kind": "number",
                              "lValueRequested": false,
                              "nodeType": "Literal",
                              "src": "6561:1:75",
                              "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": 6057,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": true,
                            "lValueRequested": false,
                            "nodeType": "ElementaryTypeNameExpression",
                            "src": "6553:7:75",
                            "typeDescriptions": {
                              "typeIdentifier": "t_type$_t_address_$",
                              "typeString": "type(address)"
                            },
                            "typeName": {
                              "id": 6056,
                              "name": "address",
                              "nodeType": "ElementaryTypeName",
                              "src": "6553:7:75",
                              "typeDescriptions": {}
                            }
                          },
                          "id": 6059,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": true,
                          "kind": "typeConversion",
                          "lValueRequested": false,
                          "names": [],
                          "nodeType": "FunctionCall",
                          "src": "6553:10:75",
                          "tryCall": false,
                          "typeDescriptions": {
                            "typeIdentifier": "t_address",
                            "typeString": "address"
                          }
                        },
                        "src": "6533:30:75",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        }
                      },
                      {
                        "hexValue": "4552524f523a4343522d3030363a434f4d504f4e454e545f414444524553535f5a45524f",
                        "id": 6061,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": true,
                        "kind": "string",
                        "lValueRequested": false,
                        "nodeType": "Literal",
                        "src": "6565:38:75",
                        "typeDescriptions": {
                          "typeIdentifier": "t_stringliteral_349494011e9b14ad7882b684a4d52f7565404f3853de6409d514462bbbb08f64",
                          "typeString": "literal_string \"ERROR:CCR-006:COMPONENT_ADDRESS_ZERO\""
                        },
                        "value": "ERROR:CCR-006:COMPONENT_ADDRESS_ZERO"
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        },
                        {
                          "typeIdentifier": "t_stringliteral_349494011e9b14ad7882b684a4d52f7565404f3853de6409d514462bbbb08f64",
                          "typeString": "literal_string \"ERROR:CCR-006:COMPONENT_ADDRESS_ZERO\""
                        }
                      ],
                      "id": 6054,
                      "name": "require",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [
                        -18,
                        -18
                      ],
                      "referencedDeclaration": -18,
                      "src": "6525:7:75",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$",
                        "typeString": "function (bool,string memory) pure"
                      }
                    },
                    "id": 6062,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "6525:79:75",
                    "tryCall": false,
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 6063,
                  "nodeType": "ExpressionStatement",
                  "src": "6525:79:75"
                },
                {
                  "expression": {
                    "id": 6068,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftHandSide": {
                      "id": 6064,
                      "name": "id",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 6052,
                      "src": "6614:2:75",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "nodeType": "Assignment",
                    "operator": "=",
                    "rightHandSide": {
                      "baseExpression": {
                        "id": 6065,
                        "name": "_componentIdByAddress",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 5534,
                        "src": "6619:21:75",
                        "typeDescriptions": {
                          "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$",
                          "typeString": "mapping(address => uint256)"
                        }
                      },
                      "id": 6067,
                      "indexExpression": {
                        "id": 6066,
                        "name": "componentAddress",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 6049,
                        "src": "6641:16:75",
                        "typeDescriptions": {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        }
                      },
                      "isConstant": false,
                      "isLValue": true,
                      "isPure": false,
                      "lValueRequested": false,
                      "nodeType": "IndexAccess",
                      "src": "6619:39:75",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "src": "6614:44:75",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "id": 6069,
                  "nodeType": "ExpressionStatement",
                  "src": "6614:44:75"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "commonType": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        },
                        "id": 6073,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "lValueRequested": false,
                        "leftExpression": {
                          "id": 6071,
                          "name": "id",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 6052,
                          "src": "6677:2:75",
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        },
                        "nodeType": "BinaryOperation",
                        "operator": ">",
                        "rightExpression": {
                          "hexValue": "30",
                          "id": 6072,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": true,
                          "kind": "number",
                          "lValueRequested": false,
                          "nodeType": "Literal",
                          "src": "6682:1:75",
                          "typeDescriptions": {
                            "typeIdentifier": "t_rational_0_by_1",
                            "typeString": "int_const 0"
                          },
                          "value": "0"
                        },
                        "src": "6677:6:75",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        }
                      },
                      {
                        "hexValue": "4552524f523a4343522d3030373a434f4d504f4e454e545f554e4b4e4f574e",
                        "id": 6074,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": true,
                        "kind": "string",
                        "lValueRequested": false,
                        "nodeType": "Literal",
                        "src": "6685:33:75",
                        "typeDescriptions": {
                          "typeIdentifier": "t_stringliteral_5aa9184ead1177203c54428ab95078928f4521a9c578f8772ed90c5ea1b644ac",
                          "typeString": "literal_string \"ERROR:CCR-007:COMPONENT_UNKNOWN\""
                        },
                        "value": "ERROR:CCR-007:COMPONENT_UNKNOWN"
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        },
                        {
                          "typeIdentifier": "t_stringliteral_5aa9184ead1177203c54428ab95078928f4521a9c578f8772ed90c5ea1b644ac",
                          "typeString": "literal_string \"ERROR:CCR-007:COMPONENT_UNKNOWN\""
                        }
                      ],
                      "id": 6070,
                      "name": "require",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [
                        -18,
                        -18
                      ],
                      "referencedDeclaration": -18,
                      "src": "6669:7:75",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$",
                        "typeString": "function (bool,string memory) pure"
                      }
                    },
                    "id": 6075,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "6669:50:75",
                    "tryCall": false,
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 6076,
                  "nodeType": "ExpressionStatement",
                  "src": "6669:50:75"
                }
              ]
            },
            "functionSelector": "2b1c7f73",
            "id": 6078,
            "implemented": true,
            "kind": "function",
            "modifiers": [],
            "name": "getComponentId",
            "nameLocation": "6441:14:75",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 6050,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 6049,
                  "mutability": "mutable",
                  "name": "componentAddress",
                  "nameLocation": "6464:16:75",
                  "nodeType": "VariableDeclaration",
                  "scope": 6078,
                  "src": "6456:24:75",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 6048,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "6456:7:75",
                    "stateMutability": "nonpayable",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "6455:26:75"
            },
            "returnParameters": {
              "id": 6053,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 6052,
                  "mutability": "mutable",
                  "name": "id",
                  "nameLocation": "6511:2:75",
                  "nodeType": "VariableDeclaration",
                  "scope": 6078,
                  "src": "6503:10:75",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 6051,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "6503:7:75",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "6502:12:75"
            },
            "scope": 6504,
            "src": "6432:294:75",
            "stateMutability": "view",
            "virtual": false,
            "visibility": "public"
          },
          {
            "body": {
              "id": 6124,
              "nodeType": "Block",
              "src": "6831:424:75",
              "statements": [
                {
                  "condition": {
                    "arguments": [
                      {
                        "id": 6088,
                        "name": "_products",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 5542,
                        "src": "6868:9:75",
                        "typeDescriptions": {
                          "typeIdentifier": "t_struct$_UintSet_$19260_storage",
                          "typeString": "struct EnumerableSet.UintSet storage ref"
                        }
                      },
                      {
                        "id": 6089,
                        "name": "id",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 6080,
                        "src": "6879:2:75",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_struct$_UintSet_$19260_storage",
                          "typeString": "struct EnumerableSet.UintSet storage ref"
                        },
                        {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      ],
                      "expression": {
                        "id": 6086,
                        "name": "EnumerableSet",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 19390,
                        "src": "6845:13:75",
                        "typeDescriptions": {
                          "typeIdentifier": "t_type$_t_contract$_EnumerableSet_$19390_$",
                          "typeString": "type(library EnumerableSet)"
                        }
                      },
                      "id": 6087,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "memberName": "contains",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 19323,
                      "src": "6845:22:75",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_internal_view$_t_struct$_UintSet_$19260_storage_ptr_$_t_uint256_$returns$_t_bool_$",
                        "typeString": "function (struct EnumerableSet.UintSet storage pointer,uint256) view returns (bool)"
                      }
                    },
                    "id": 6090,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "6845:37:75",
                    "tryCall": false,
                    "typeDescriptions": {
                      "typeIdentifier": "t_bool",
                      "typeString": "bool"
                    }
                  },
                  "falseBody": {
                    "condition": {
                      "arguments": [
                        {
                          "id": 6098,
                          "name": "_oracles",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 5545,
                          "src": "6981:8:75",
                          "typeDescriptions": {
                            "typeIdentifier": "t_struct$_UintSet_$19260_storage",
                            "typeString": "struct EnumerableSet.UintSet storage ref"
                          }
                        },
                        {
                          "id": 6099,
                          "name": "id",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 6080,
                          "src": "6991:2:75",
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        }
                      ],
                      "expression": {
                        "argumentTypes": [
                          {
                            "typeIdentifier": "t_struct$_UintSet_$19260_storage",
                            "typeString": "struct EnumerableSet.UintSet storage ref"
                          },
                          {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        ],
                        "expression": {
                          "id": 6096,
                          "name": "EnumerableSet",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 19390,
                          "src": "6958:13:75",
                          "typeDescriptions": {
                            "typeIdentifier": "t_type$_t_contract$_EnumerableSet_$19390_$",
                            "typeString": "type(library EnumerableSet)"
                          }
                        },
                        "id": 6097,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "lValueRequested": false,
                        "memberName": "contains",
                        "nodeType": "MemberAccess",
                        "referencedDeclaration": 19323,
                        "src": "6958:22:75",
                        "typeDescriptions": {
                          "typeIdentifier": "t_function_internal_view$_t_struct$_UintSet_$19260_storage_ptr_$_t_uint256_$returns$_t_bool_$",
                          "typeString": "function (struct EnumerableSet.UintSet storage pointer,uint256) view returns (bool)"
                        }
                      },
                      "id": 6100,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "kind": "functionCall",
                      "lValueRequested": false,
                      "names": [],
                      "nodeType": "FunctionCall",
                      "src": "6958:36:75",
                      "tryCall": false,
                      "typeDescriptions": {
                        "typeIdentifier": "t_bool",
                        "typeString": "bool"
                      }
                    },
                    "falseBody": {
                      "condition": {
                        "arguments": [
                          {
                            "id": 6108,
                            "name": "_riskpools",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 5548,
                            "src": "7092:10:75",
                            "typeDescriptions": {
                              "typeIdentifier": "t_struct$_UintSet_$19260_storage",
                              "typeString": "struct EnumerableSet.UintSet storage ref"
                            }
                          },
                          {
                            "id": 6109,
                            "name": "id",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 6080,
                            "src": "7104:2:75",
                            "typeDescriptions": {
                              "typeIdentifier": "t_uint256",
                              "typeString": "uint256"
                            }
                          }
                        ],
                        "expression": {
                          "argumentTypes": [
                            {
                              "typeIdentifier": "t_struct$_UintSet_$19260_storage",
                              "typeString": "struct EnumerableSet.UintSet storage ref"
                            },
                            {
                              "typeIdentifier": "t_uint256",
                              "typeString": "uint256"
                            }
                          ],
                          "expression": {
                            "id": 6106,
                            "name": "EnumerableSet",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 19390,
                            "src": "7069:13:75",
                            "typeDescriptions": {
                              "typeIdentifier": "t_type$_t_contract$_EnumerableSet_$19390_$",
                              "typeString": "type(library EnumerableSet)"
                            }
                          },
                          "id": 6107,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "memberName": "contains",
                          "nodeType": "MemberAccess",
                          "referencedDeclaration": 19323,
                          "src": "7069:22:75",
                          "typeDescriptions": {
                            "typeIdentifier": "t_function_internal_view$_t_struct$_UintSet_$19260_storage_ptr_$_t_uint256_$returns$_t_bool_$",
                            "typeString": "function (struct EnumerableSet.UintSet storage pointer,uint256) view returns (bool)"
                          }
                        },
                        "id": 6110,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "kind": "functionCall",
                        "lValueRequested": false,
                        "names": [],
                        "nodeType": "FunctionCall",
                        "src": "7069:38:75",
                        "tryCall": false,
                        "typeDescriptions": {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        }
                      },
                      "falseBody": {
                        "id": 6120,
                        "nodeType": "Block",
                        "src": "7180:69:75",
                        "statements": [
                          {
                            "expression": {
                              "arguments": [
                                {
                                  "hexValue": "4552524f523a4343522d3030383a494e56414c49445f434f4d504f4e454e545f4944",
                                  "id": 6117,
                                  "isConstant": false,
                                  "isLValue": false,
                                  "isPure": true,
                                  "kind": "string",
                                  "lValueRequested": false,
                                  "nodeType": "Literal",
                                  "src": "7201:36:75",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_stringliteral_67050a9f7590899f726ff1d1acfe3fa473b09c82fe38e2fb1e74ce440fa5d62b",
                                    "typeString": "literal_string \"ERROR:CCR-008:INVALID_COMPONENT_ID\""
                                  },
                                  "value": "ERROR:CCR-008:INVALID_COMPONENT_ID"
                                }
                              ],
                              "expression": {
                                "argumentTypes": [
                                  {
                                    "typeIdentifier": "t_stringliteral_67050a9f7590899f726ff1d1acfe3fa473b09c82fe38e2fb1e74ce440fa5d62b",
                                    "typeString": "literal_string \"ERROR:CCR-008:INVALID_COMPONENT_ID\""
                                  }
                                ],
                                "id": 6116,
                                "name": "revert",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [
                                  -19,
                                  -19
                                ],
                                "referencedDeclaration": -19,
                                "src": "7194:6:75",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_function_revert_pure$_t_string_memory_ptr_$returns$__$",
                                  "typeString": "function (string memory) pure"
                                }
                              },
                              "id": 6118,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": false,
                              "kind": "functionCall",
                              "lValueRequested": false,
                              "names": [],
                              "nodeType": "FunctionCall",
                              "src": "7194:44:75",
                              "tryCall": false,
                              "typeDescriptions": {
                                "typeIdentifier": "t_tuple$__$",
                                "typeString": "tuple()"
                              }
                            },
                            "id": 6119,
                            "nodeType": "ExpressionStatement",
                            "src": "7194:44:75"
                          }
                        ]
                      },
                      "id": 6121,
                      "nodeType": "IfStatement",
                      "src": "7065:184:75",
                      "trueBody": {
                        "id": 6115,
                        "nodeType": "Block",
                        "src": "7109:65:75",
                        "statements": [
                          {
                            "expression": {
                              "expression": {
                                "expression": {
                                  "id": 6111,
                                  "name": "IComponent",
                                  "nodeType": "Identifier",
                                  "overloadedDeclarations": [],
                                  "referencedDeclaration": 22099,
                                  "src": "7130:10:75",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_type$_t_contract$_IComponent_$22099_$",
                                    "typeString": "type(contract IComponent)"
                                  }
                                },
                                "id": 6112,
                                "isConstant": false,
                                "isLValue": false,
                                "isPure": false,
                                "lValueRequested": false,
                                "memberName": "ComponentType",
                                "nodeType": "MemberAccess",
                                "referencedDeclaration": 22002,
                                "src": "7130:24:75",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_type$_t_enum$_ComponentType_$22002_$",
                                  "typeString": "type(enum IComponent.ComponentType)"
                                }
                              },
                              "id": 6113,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": true,
                              "lValueRequested": false,
                              "memberName": "Riskpool",
                              "nodeType": "MemberAccess",
                              "referencedDeclaration": 22001,
                              "src": "7130:33:75",
                              "typeDescriptions": {
                                "typeIdentifier": "t_enum$_ComponentType_$22002",
                                "typeString": "enum IComponent.ComponentType"
                              }
                            },
                            "functionReturnParameters": 6085,
                            "id": 6114,
                            "nodeType": "Return",
                            "src": "7123:40:75"
                          }
                        ]
                      }
                    },
                    "id": 6122,
                    "nodeType": "IfStatement",
                    "src": "6954:295:75",
                    "trueBody": {
                      "id": 6105,
                      "nodeType": "Block",
                      "src": "6996:63:75",
                      "statements": [
                        {
                          "expression": {
                            "expression": {
                              "expression": {
                                "id": 6101,
                                "name": "IComponent",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 22099,
                                "src": "7017:10:75",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_type$_t_contract$_IComponent_$22099_$",
                                  "typeString": "type(contract IComponent)"
                                }
                              },
                              "id": 6102,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": false,
                              "lValueRequested": false,
                              "memberName": "ComponentType",
                              "nodeType": "MemberAccess",
                              "referencedDeclaration": 22002,
                              "src": "7017:24:75",
                              "typeDescriptions": {
                                "typeIdentifier": "t_type$_t_enum$_ComponentType_$22002_$",
                                "typeString": "type(enum IComponent.ComponentType)"
                              }
                            },
                            "id": 6103,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": true,
                            "lValueRequested": false,
                            "memberName": "Oracle",
                            "nodeType": "MemberAccess",
                            "referencedDeclaration": 21999,
                            "src": "7017:31:75",
                            "typeDescriptions": {
                              "typeIdentifier": "t_enum$_ComponentType_$22002",
                              "typeString": "enum IComponent.ComponentType"
                            }
                          },
                          "functionReturnParameters": 6085,
                          "id": 6104,
                          "nodeType": "Return",
                          "src": "7010:38:75"
                        }
                      ]
                    }
                  },
                  "id": 6123,
                  "nodeType": "IfStatement",
                  "src": "6841:408:75",
                  "trueBody": {
                    "id": 6095,
                    "nodeType": "Block",
                    "src": "6884:64:75",
                    "statements": [
                      {
                        "expression": {
                          "expression": {
                            "expression": {
                              "id": 6091,
                              "name": "IComponent",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 22099,
                              "src": "6905:10:75",
                              "typeDescriptions": {
                                "typeIdentifier": "t_type$_t_contract$_IComponent_$22099_$",
                                "typeString": "type(contract IComponent)"
                              }
                            },
                            "id": 6092,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": false,
                            "lValueRequested": false,
                            "memberName": "ComponentType",
                            "nodeType": "MemberAccess",
                            "referencedDeclaration": 22002,
                            "src": "6905:24:75",
                            "typeDescriptions": {
                              "typeIdentifier": "t_type$_t_enum$_ComponentType_$22002_$",
                              "typeString": "type(enum IComponent.ComponentType)"
                            }
                          },
                          "id": 6093,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": true,
                          "lValueRequested": false,
                          "memberName": "Product",
                          "nodeType": "MemberAccess",
                          "referencedDeclaration": 22000,
                          "src": "6905:32:75",
                          "typeDescriptions": {
                            "typeIdentifier": "t_enum$_ComponentType_$22002",
                            "typeString": "enum IComponent.ComponentType"
                          }
                        },
                        "functionReturnParameters": 6085,
                        "id": 6094,
                        "nodeType": "Return",
                        "src": "6898:39:75"
                      }
                    ]
                  }
                }
              ]
            },
            "functionSelector": "dd51c86a",
            "id": 6125,
            "implemented": true,
            "kind": "function",
            "modifiers": [],
            "name": "getComponentType",
            "nameLocation": "6741:16:75",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 6081,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 6080,
                  "mutability": "mutable",
                  "name": "id",
                  "nameLocation": "6766:2:75",
                  "nodeType": "VariableDeclaration",
                  "scope": 6125,
                  "src": "6758:10:75",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 6079,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "6758:7:75",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "6757:12:75"
            },
            "returnParameters": {
              "id": 6085,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 6084,
                  "mutability": "mutable",
                  "name": "componentType",
                  "nameLocation": "6816:13:75",
                  "nodeType": "VariableDeclaration",
                  "scope": 6125,
                  "src": "6791:38:75",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_enum$_ComponentType_$22002",
                    "typeString": "enum IComponent.ComponentType"
                  },
                  "typeName": {
                    "id": 6083,
                    "nodeType": "UserDefinedTypeName",
                    "pathNode": {
                      "id": 6082,
                      "name": "IComponent.ComponentType",
                      "nodeType": "IdentifierPath",
                      "referencedDeclaration": 22002,
                      "src": "6791:24:75"
                    },
                    "referencedDeclaration": 22002,
                    "src": "6791:24:75",
                    "typeDescriptions": {
                      "typeIdentifier": "t_enum$_ComponentType_$22002",
                      "typeString": "enum IComponent.ComponentType"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "6790:40:75"
            },
            "scope": 6504,
            "src": "6732:523:75",
            "stateMutability": "view",
            "virtual": false,
            "visibility": "public"
          },
          {
            "body": {
              "id": 6137,
              "nodeType": "Block",
              "src": "7363:43:75",
              "statements": [
                {
                  "expression": {
                    "baseExpression": {
                      "id": 6133,
                      "name": "_componentState",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 5539,
                      "src": "7380:15:75",
                      "typeDescriptions": {
                        "typeIdentifier": "t_mapping$_t_uint256_$_t_enum$_ComponentState_$22010_$",
                        "typeString": "mapping(uint256 => enum IComponent.ComponentState)"
                      }
                    },
                    "id": 6135,
                    "indexExpression": {
                      "id": 6134,
                      "name": "id",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 6127,
                      "src": "7396:2:75",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "isConstant": false,
                    "isLValue": true,
                    "isPure": false,
                    "lValueRequested": false,
                    "nodeType": "IndexAccess",
                    "src": "7380:19:75",
                    "typeDescriptions": {
                      "typeIdentifier": "t_enum$_ComponentState_$22010",
                      "typeString": "enum IComponent.ComponentState"
                    }
                  },
                  "functionReturnParameters": 6132,
                  "id": 6136,
                  "nodeType": "Return",
                  "src": "7373:26:75"
                }
              ]
            },
            "functionSelector": "5e966e45",
            "id": 6138,
            "implemented": true,
            "kind": "function",
            "modifiers": [],
            "name": "getComponentState",
            "nameLocation": "7270:17:75",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 6128,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 6127,
                  "mutability": "mutable",
                  "name": "id",
                  "nameLocation": "7296:2:75",
                  "nodeType": "VariableDeclaration",
                  "scope": 6138,
                  "src": "7288:10:75",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 6126,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "7288:7:75",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "7287:12:75"
            },
            "returnParameters": {
              "id": 6132,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 6131,
                  "mutability": "mutable",
                  "name": "componentState",
                  "nameLocation": "7347:14:75",
                  "nodeType": "VariableDeclaration",
                  "scope": 6138,
                  "src": "7321:40:75",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_enum$_ComponentState_$22010",
                    "typeString": "enum IComponent.ComponentState"
                  },
                  "typeName": {
                    "id": 6130,
                    "nodeType": "UserDefinedTypeName",
                    "pathNode": {
                      "id": 6129,
                      "name": "IComponent.ComponentState",
                      "nodeType": "IdentifierPath",
                      "referencedDeclaration": 22010,
                      "src": "7321:25:75"
                    },
                    "referencedDeclaration": 22010,
                    "src": "7321:25:75",
                    "typeDescriptions": {
                      "typeIdentifier": "t_enum$_ComponentState_$22010",
                      "typeString": "enum IComponent.ComponentState"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "7320:42:75"
            },
            "scope": 6504,
            "src": "7261:145:75",
            "stateMutability": "view",
            "virtual": false,
            "visibility": "public"
          },
          {
            "body": {
              "id": 6151,
              "nodeType": "Block",
              "src": "7485:55:75",
              "statements": [
                {
                  "expression": {
                    "arguments": [
                      {
                        "id": 6147,
                        "name": "_oracles",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 5545,
                        "src": "7519:8:75",
                        "typeDescriptions": {
                          "typeIdentifier": "t_struct$_UintSet_$19260_storage",
                          "typeString": "struct EnumerableSet.UintSet storage ref"
                        }
                      },
                      {
                        "id": 6148,
                        "name": "idx",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 6140,
                        "src": "7529:3:75",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_struct$_UintSet_$19260_storage",
                          "typeString": "struct EnumerableSet.UintSet storage ref"
                        },
                        {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      ],
                      "expression": {
                        "id": 6145,
                        "name": "EnumerableSet",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 19390,
                        "src": "7502:13:75",
                        "typeDescriptions": {
                          "typeIdentifier": "t_type$_t_contract$_EnumerableSet_$19390_$",
                          "typeString": "type(library EnumerableSet)"
                        }
                      },
                      "id": 6146,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "memberName": "at",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 19359,
                      "src": "7502:16:75",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_internal_view$_t_struct$_UintSet_$19260_storage_ptr_$_t_uint256_$returns$_t_uint256_$",
                        "typeString": "function (struct EnumerableSet.UintSet storage pointer,uint256) view returns (uint256)"
                      }
                    },
                    "id": 6149,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "7502:31:75",
                    "tryCall": false,
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "functionReturnParameters": 6144,
                  "id": 6150,
                  "nodeType": "Return",
                  "src": "7495:38:75"
                }
              ]
            },
            "functionSelector": "a5c0f5a1",
            "id": 6152,
            "implemented": true,
            "kind": "function",
            "modifiers": [],
            "name": "getOracleId",
            "nameLocation": "7421:11:75",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 6141,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 6140,
                  "mutability": "mutable",
                  "name": "idx",
                  "nameLocation": "7441:3:75",
                  "nodeType": "VariableDeclaration",
                  "scope": 6152,
                  "src": "7433:11:75",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 6139,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "7433:7:75",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "7432:13:75"
            },
            "returnParameters": {
              "id": 6144,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 6143,
                  "mutability": "mutable",
                  "name": "oracleId",
                  "nameLocation": "7475:8:75",
                  "nodeType": "VariableDeclaration",
                  "scope": 6152,
                  "src": "7467:16:75",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 6142,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "7467:7:75",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "7466:18:75"
            },
            "scope": 6504,
            "src": "7412:128:75",
            "stateMutability": "view",
            "virtual": false,
            "visibility": "public"
          },
          {
            "body": {
              "id": 6165,
              "nodeType": "Block",
              "src": "7623:57:75",
              "statements": [
                {
                  "expression": {
                    "arguments": [
                      {
                        "id": 6161,
                        "name": "_riskpools",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 5548,
                        "src": "7657:10:75",
                        "typeDescriptions": {
                          "typeIdentifier": "t_struct$_UintSet_$19260_storage",
                          "typeString": "struct EnumerableSet.UintSet storage ref"
                        }
                      },
                      {
                        "id": 6162,
                        "name": "idx",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 6154,
                        "src": "7669:3:75",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_struct$_UintSet_$19260_storage",
                          "typeString": "struct EnumerableSet.UintSet storage ref"
                        },
                        {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      ],
                      "expression": {
                        "id": 6159,
                        "name": "EnumerableSet",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 19390,
                        "src": "7640:13:75",
                        "typeDescriptions": {
                          "typeIdentifier": "t_type$_t_contract$_EnumerableSet_$19390_$",
                          "typeString": "type(library EnumerableSet)"
                        }
                      },
                      "id": 6160,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "memberName": "at",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 19359,
                      "src": "7640:16:75",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_internal_view$_t_struct$_UintSet_$19260_storage_ptr_$_t_uint256_$returns$_t_uint256_$",
                        "typeString": "function (struct EnumerableSet.UintSet storage pointer,uint256) view returns (uint256)"
                      }
                    },
                    "id": 6163,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "7640:33:75",
                    "tryCall": false,
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "functionReturnParameters": 6158,
                  "id": 6164,
                  "nodeType": "Return",
                  "src": "7633:40:75"
                }
              ]
            },
            "functionSelector": "ff3f3883",
            "id": 6166,
            "implemented": true,
            "kind": "function",
            "modifiers": [],
            "name": "getRiskpoolId",
            "nameLocation": "7555:13:75",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 6155,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 6154,
                  "mutability": "mutable",
                  "name": "idx",
                  "nameLocation": "7577:3:75",
                  "nodeType": "VariableDeclaration",
                  "scope": 6166,
                  "src": "7569:11:75",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 6153,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "7569:7:75",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "7568:13:75"
            },
            "returnParameters": {
              "id": 6158,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 6157,
                  "mutability": "mutable",
                  "name": "riskpoolId",
                  "nameLocation": "7611:10:75",
                  "nodeType": "VariableDeclaration",
                  "scope": 6166,
                  "src": "7603:18:75",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 6156,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "7603:7:75",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "7602:20:75"
            },
            "scope": 6504,
            "src": "7546:134:75",
            "stateMutability": "view",
            "virtual": false,
            "visibility": "public"
          },
          {
            "body": {
              "id": 6179,
              "nodeType": "Block",
              "src": "7761:56:75",
              "statements": [
                {
                  "expression": {
                    "arguments": [
                      {
                        "id": 6175,
                        "name": "_products",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 5542,
                        "src": "7795:9:75",
                        "typeDescriptions": {
                          "typeIdentifier": "t_struct$_UintSet_$19260_storage",
                          "typeString": "struct EnumerableSet.UintSet storage ref"
                        }
                      },
                      {
                        "id": 6176,
                        "name": "idx",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 6168,
                        "src": "7806:3:75",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_struct$_UintSet_$19260_storage",
                          "typeString": "struct EnumerableSet.UintSet storage ref"
                        },
                        {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      ],
                      "expression": {
                        "id": 6173,
                        "name": "EnumerableSet",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 19390,
                        "src": "7778:13:75",
                        "typeDescriptions": {
                          "typeIdentifier": "t_type$_t_contract$_EnumerableSet_$19390_$",
                          "typeString": "type(library EnumerableSet)"
                        }
                      },
                      "id": 6174,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "memberName": "at",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 19359,
                      "src": "7778:16:75",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_internal_view$_t_struct$_UintSet_$19260_storage_ptr_$_t_uint256_$returns$_t_uint256_$",
                        "typeString": "function (struct EnumerableSet.UintSet storage pointer,uint256) view returns (uint256)"
                      }
                    },
                    "id": 6177,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "7778:32:75",
                    "tryCall": false,
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "functionReturnParameters": 6172,
                  "id": 6178,
                  "nodeType": "Return",
                  "src": "7771:39:75"
                }
              ]
            },
            "functionSelector": "9f77a605",
            "id": 6180,
            "implemented": true,
            "kind": "function",
            "modifiers": [],
            "name": "getProductId",
            "nameLocation": "7695:12:75",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 6169,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 6168,
                  "mutability": "mutable",
                  "name": "idx",
                  "nameLocation": "7716:3:75",
                  "nodeType": "VariableDeclaration",
                  "scope": 6180,
                  "src": "7708:11:75",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 6167,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "7708:7:75",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "7707:13:75"
            },
            "returnParameters": {
              "id": 6172,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 6171,
                  "mutability": "mutable",
                  "name": "productId",
                  "nameLocation": "7750:9:75",
                  "nodeType": "VariableDeclaration",
                  "scope": 6180,
                  "src": "7742:17:75",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 6170,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "7742:7:75",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "7741:19:75"
            },
            "scope": 6504,
            "src": "7686:131:75",
            "stateMutability": "view",
            "virtual": false,
            "visibility": "public"
          },
          {
            "body": {
              "id": 6226,
              "nodeType": "Block",
              "src": "7920:401:75",
              "statements": [
                {
                  "condition": {
                    "commonType": {
                      "typeIdentifier": "t_enum$_ComponentType_$22002",
                      "typeString": "enum IComponent.ComponentType"
                    },
                    "id": 6192,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftExpression": {
                      "id": 6188,
                      "name": "componentType",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 6183,
                      "src": "7934:13:75",
                      "typeDescriptions": {
                        "typeIdentifier": "t_enum$_ComponentType_$22002",
                        "typeString": "enum IComponent.ComponentType"
                      }
                    },
                    "nodeType": "BinaryOperation",
                    "operator": "==",
                    "rightExpression": {
                      "expression": {
                        "expression": {
                          "id": 6189,
                          "name": "IComponent",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 22099,
                          "src": "7951:10:75",
                          "typeDescriptions": {
                            "typeIdentifier": "t_type$_t_contract$_IComponent_$22099_$",
                            "typeString": "type(contract IComponent)"
                          }
                        },
                        "id": 6190,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "lValueRequested": false,
                        "memberName": "ComponentType",
                        "nodeType": "MemberAccess",
                        "referencedDeclaration": 22002,
                        "src": "7951:24:75",
                        "typeDescriptions": {
                          "typeIdentifier": "t_type$_t_enum$_ComponentType_$22002_$",
                          "typeString": "type(enum IComponent.ComponentType)"
                        }
                      },
                      "id": 6191,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": true,
                      "lValueRequested": false,
                      "memberName": "Product",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 22000,
                      "src": "7951:32:75",
                      "typeDescriptions": {
                        "typeIdentifier": "t_enum$_ComponentType_$22002",
                        "typeString": "enum IComponent.ComponentType"
                      }
                    },
                    "src": "7934:49:75",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bool",
                      "typeString": "bool"
                    }
                  },
                  "falseBody": {
                    "condition": {
                      "commonType": {
                        "typeIdentifier": "t_enum$_ComponentType_$22002",
                        "typeString": "enum IComponent.ComponentType"
                      },
                      "id": 6202,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "leftExpression": {
                        "id": 6198,
                        "name": "componentType",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 6183,
                        "src": "8044:13:75",
                        "typeDescriptions": {
                          "typeIdentifier": "t_enum$_ComponentType_$22002",
                          "typeString": "enum IComponent.ComponentType"
                        }
                      },
                      "nodeType": "BinaryOperation",
                      "operator": "==",
                      "rightExpression": {
                        "expression": {
                          "expression": {
                            "id": 6199,
                            "name": "IComponent",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 22099,
                            "src": "8061:10:75",
                            "typeDescriptions": {
                              "typeIdentifier": "t_type$_t_contract$_IComponent_$22099_$",
                              "typeString": "type(contract IComponent)"
                            }
                          },
                          "id": 6200,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "memberName": "ComponentType",
                          "nodeType": "MemberAccess",
                          "referencedDeclaration": 22002,
                          "src": "8061:24:75",
                          "typeDescriptions": {
                            "typeIdentifier": "t_type$_t_enum$_ComponentType_$22002_$",
                            "typeString": "type(enum IComponent.ComponentType)"
                          }
                        },
                        "id": 6201,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": true,
                        "lValueRequested": false,
                        "memberName": "Oracle",
                        "nodeType": "MemberAccess",
                        "referencedDeclaration": 21999,
                        "src": "8061:31:75",
                        "typeDescriptions": {
                          "typeIdentifier": "t_enum$_ComponentType_$22002",
                          "typeString": "enum IComponent.ComponentType"
                        }
                      },
                      "src": "8044:48:75",
                      "typeDescriptions": {
                        "typeIdentifier": "t_bool",
                        "typeString": "bool"
                      }
                    },
                    "falseBody": {
                      "condition": {
                        "commonType": {
                          "typeIdentifier": "t_enum$_ComponentType_$22002",
                          "typeString": "enum IComponent.ComponentType"
                        },
                        "id": 6212,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "lValueRequested": false,
                        "leftExpression": {
                          "id": 6208,
                          "name": "componentType",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 6183,
                          "src": "8155:13:75",
                          "typeDescriptions": {
                            "typeIdentifier": "t_enum$_ComponentType_$22002",
                            "typeString": "enum IComponent.ComponentType"
                          }
                        },
                        "nodeType": "BinaryOperation",
                        "operator": "==",
                        "rightExpression": {
                          "expression": {
                            "expression": {
                              "id": 6209,
                              "name": "IComponent",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 22099,
                              "src": "8172:10:75",
                              "typeDescriptions": {
                                "typeIdentifier": "t_type$_t_contract$_IComponent_$22099_$",
                                "typeString": "type(contract IComponent)"
                              }
                            },
                            "id": 6210,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": false,
                            "lValueRequested": false,
                            "memberName": "ComponentType",
                            "nodeType": "MemberAccess",
                            "referencedDeclaration": 22002,
                            "src": "8172:24:75",
                            "typeDescriptions": {
                              "typeIdentifier": "t_type$_t_enum$_ComponentType_$22002_$",
                              "typeString": "type(enum IComponent.ComponentType)"
                            }
                          },
                          "id": 6211,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": true,
                          "lValueRequested": false,
                          "memberName": "Riskpool",
                          "nodeType": "MemberAccess",
                          "referencedDeclaration": 22001,
                          "src": "8172:33:75",
                          "typeDescriptions": {
                            "typeIdentifier": "t_enum$_ComponentType_$22002",
                            "typeString": "enum IComponent.ComponentType"
                          }
                        },
                        "src": "8155:50:75",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        }
                      },
                      "falseBody": {
                        "id": 6222,
                        "nodeType": "Block",
                        "src": "8264:51:75",
                        "statements": [
                          {
                            "expression": {
                              "arguments": [
                                {
                                  "hexValue": "4552524f523a4343522d3031303a434f4d504f4e454e545f545950455f554e4b4e4f574e",
                                  "id": 6219,
                                  "isConstant": false,
                                  "isLValue": false,
                                  "isPure": true,
                                  "kind": "string",
                                  "lValueRequested": false,
                                  "nodeType": "Literal",
                                  "src": "8273:38:75",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_stringliteral_f1c08fa2a8ffb36bf794006b5c478bd24ca48d907fc7830cb558a4b14cd289c6",
                                    "typeString": "literal_string \"ERROR:CCR-010:COMPONENT_TYPE_UNKNOWN\""
                                  },
                                  "value": "ERROR:CCR-010:COMPONENT_TYPE_UNKNOWN"
                                }
                              ],
                              "expression": {
                                "argumentTypes": [
                                  {
                                    "typeIdentifier": "t_stringliteral_f1c08fa2a8ffb36bf794006b5c478bd24ca48d907fc7830cb558a4b14cd289c6",
                                    "typeString": "literal_string \"ERROR:CCR-010:COMPONENT_TYPE_UNKNOWN\""
                                  }
                                ],
                                "id": 6218,
                                "name": "revert",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [
                                  -19,
                                  -19
                                ],
                                "referencedDeclaration": -19,
                                "src": "8266:6:75",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_function_revert_pure$_t_string_memory_ptr_$returns$__$",
                                  "typeString": "function (string memory) pure"
                                }
                              },
                              "id": 6220,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": false,
                              "kind": "functionCall",
                              "lValueRequested": false,
                              "names": [],
                              "nodeType": "FunctionCall",
                              "src": "8266:46:75",
                              "tryCall": false,
                              "typeDescriptions": {
                                "typeIdentifier": "t_tuple$__$",
                                "typeString": "tuple()"
                              }
                            },
                            "id": 6221,
                            "nodeType": "ExpressionStatement",
                            "src": "8266:46:75"
                          }
                        ]
                      },
                      "id": 6223,
                      "nodeType": "IfStatement",
                      "src": "8151:164:75",
                      "trueBody": {
                        "id": 6217,
                        "nodeType": "Block",
                        "src": "8207:43:75",
                        "statements": [
                          {
                            "expression": {
                              "arguments": [],
                              "expression": {
                                "argumentTypes": [],
                                "expression": {
                                  "id": 6213,
                                  "name": "_access",
                                  "nodeType": "Identifier",
                                  "overloadedDeclarations": [],
                                  "referencedDeclaration": 14804,
                                  "src": "8216:7:75",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_contract$_IAccess_$21938",
                                    "typeString": "contract IAccess"
                                  }
                                },
                                "id": 6214,
                                "isConstant": false,
                                "isLValue": false,
                                "isPure": false,
                                "lValueRequested": false,
                                "memberName": "getRiskpoolKeeperRole",
                                "nodeType": "MemberAccess",
                                "referencedDeclaration": 21897,
                                "src": "8216:29:75",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_function_external_view$__$returns$_t_bytes32_$",
                                  "typeString": "function () view external returns (bytes32)"
                                }
                              },
                              "id": 6215,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": false,
                              "kind": "functionCall",
                              "lValueRequested": false,
                              "names": [],
                              "nodeType": "FunctionCall",
                              "src": "8216:31:75",
                              "tryCall": false,
                              "typeDescriptions": {
                                "typeIdentifier": "t_bytes32",
                                "typeString": "bytes32"
                              }
                            },
                            "functionReturnParameters": 6187,
                            "id": 6216,
                            "nodeType": "Return",
                            "src": "8209:38:75"
                          }
                        ]
                      }
                    },
                    "id": 6224,
                    "nodeType": "IfStatement",
                    "src": "8040:275:75",
                    "trueBody": {
                      "id": 6207,
                      "nodeType": "Block",
                      "src": "8094:43:75",
                      "statements": [
                        {
                          "expression": {
                            "arguments": [],
                            "expression": {
                              "argumentTypes": [],
                              "expression": {
                                "id": 6203,
                                "name": "_access",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 14804,
                                "src": "8103:7:75",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_contract$_IAccess_$21938",
                                  "typeString": "contract IAccess"
                                }
                              },
                              "id": 6204,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": false,
                              "lValueRequested": false,
                              "memberName": "getOracleProviderRole",
                              "nodeType": "MemberAccess",
                              "referencedDeclaration": 21892,
                              "src": "8103:29:75",
                              "typeDescriptions": {
                                "typeIdentifier": "t_function_external_view$__$returns$_t_bytes32_$",
                                "typeString": "function () view external returns (bytes32)"
                              }
                            },
                            "id": 6205,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": false,
                            "kind": "functionCall",
                            "lValueRequested": false,
                            "names": [],
                            "nodeType": "FunctionCall",
                            "src": "8103:31:75",
                            "tryCall": false,
                            "typeDescriptions": {
                              "typeIdentifier": "t_bytes32",
                              "typeString": "bytes32"
                            }
                          },
                          "functionReturnParameters": 6187,
                          "id": 6206,
                          "nodeType": "Return",
                          "src": "8096:38:75"
                        }
                      ]
                    }
                  },
                  "id": 6225,
                  "nodeType": "IfStatement",
                  "src": "7930:385:75",
                  "trueBody": {
                    "id": 6197,
                    "nodeType": "Block",
                    "src": "7985:41:75",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [],
                          "expression": {
                            "argumentTypes": [],
                            "expression": {
                              "id": 6193,
                              "name": "_access",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 14804,
                              "src": "7994:7:75",
                              "typeDescriptions": {
                                "typeIdentifier": "t_contract$_IAccess_$21938",
                                "typeString": "contract IAccess"
                              }
                            },
                            "id": 6194,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": false,
                            "lValueRequested": false,
                            "memberName": "getProductOwnerRole",
                            "nodeType": "MemberAccess",
                            "referencedDeclaration": 21887,
                            "src": "7994:27:75",
                            "typeDescriptions": {
                              "typeIdentifier": "t_function_external_view$__$returns$_t_bytes32_$",
                              "typeString": "function () view external returns (bytes32)"
                            }
                          },
                          "id": 6195,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "kind": "functionCall",
                          "lValueRequested": false,
                          "names": [],
                          "nodeType": "FunctionCall",
                          "src": "7994:29:75",
                          "tryCall": false,
                          "typeDescriptions": {
                            "typeIdentifier": "t_bytes32",
                            "typeString": "bytes32"
                          }
                        },
                        "functionReturnParameters": 6187,
                        "id": 6196,
                        "nodeType": "Return",
                        "src": "7987:36:75"
                      }
                    ]
                  }
                }
              ]
            },
            "functionSelector": "5af89a47",
            "id": 6227,
            "implemented": true,
            "kind": "function",
            "modifiers": [],
            "name": "getRequiredRole",
            "nameLocation": "7832:15:75",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 6184,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 6183,
                  "mutability": "mutable",
                  "name": "componentType",
                  "nameLocation": "7873:13:75",
                  "nodeType": "VariableDeclaration",
                  "scope": 6227,
                  "src": "7848:38:75",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_enum$_ComponentType_$22002",
                    "typeString": "enum IComponent.ComponentType"
                  },
                  "typeName": {
                    "id": 6182,
                    "nodeType": "UserDefinedTypeName",
                    "pathNode": {
                      "id": 6181,
                      "name": "IComponent.ComponentType",
                      "nodeType": "IdentifierPath",
                      "referencedDeclaration": 22002,
                      "src": "7848:24:75"
                    },
                    "referencedDeclaration": 22002,
                    "src": "7848:24:75",
                    "typeDescriptions": {
                      "typeIdentifier": "t_enum$_ComponentType_$22002",
                      "typeString": "enum IComponent.ComponentType"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "7847:40:75"
            },
            "returnParameters": {
              "id": 6187,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 6186,
                  "mutability": "mutable",
                  "name": "",
                  "nameLocation": "-1:-1:-1",
                  "nodeType": "VariableDeclaration",
                  "scope": 6227,
                  "src": "7911:7:75",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes32",
                    "typeString": "bytes32"
                  },
                  "typeName": {
                    "id": 6185,
                    "name": "bytes32",
                    "nodeType": "ElementaryTypeName",
                    "src": "7911:7:75",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "7910:9:75"
            },
            "scope": 6504,
            "src": "7823:498:75",
            "stateMutability": "view",
            "virtual": false,
            "visibility": "external"
          },
          {
            "body": {
              "id": 6234,
              "nodeType": "Block",
              "src": "8385:27:75",
              "statements": [
                {
                  "expression": {
                    "id": 6232,
                    "name": "_componentCount",
                    "nodeType": "Identifier",
                    "overloadedDeclarations": [],
                    "referencedDeclaration": 5550,
                    "src": "8394:15:75",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "functionReturnParameters": 6231,
                  "id": 6233,
                  "nodeType": "Return",
                  "src": "8387:22:75"
                }
              ]
            },
            "functionSelector": "ba62fbe4",
            "id": 6235,
            "implemented": true,
            "kind": "function",
            "modifiers": [],
            "name": "components",
            "nameLocation": "8336:10:75",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 6228,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "8346:2:75"
            },
            "returnParameters": {
              "id": 6231,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 6230,
                  "mutability": "mutable",
                  "name": "count",
                  "nameLocation": "8378:5:75",
                  "nodeType": "VariableDeclaration",
                  "scope": 6235,
                  "src": "8370:13:75",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 6229,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "8370:7:75",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "8369:15:75"
            },
            "scope": 6504,
            "src": "8327:85:75",
            "stateMutability": "view",
            "virtual": false,
            "visibility": "public"
          },
          {
            "body": {
              "id": 6245,
              "nodeType": "Block",
              "src": "8473:43:75",
              "statements": [
                {
                  "expression": {
                    "arguments": [
                      {
                        "id": 6242,
                        "name": "_products",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 5542,
                        "src": "8503:9:75",
                        "typeDescriptions": {
                          "typeIdentifier": "t_struct$_UintSet_$19260_storage",
                          "typeString": "struct EnumerableSet.UintSet storage ref"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_struct$_UintSet_$19260_storage",
                          "typeString": "struct EnumerableSet.UintSet storage ref"
                        }
                      ],
                      "expression": {
                        "id": 6240,
                        "name": "EnumerableSet",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 19390,
                        "src": "8482:13:75",
                        "typeDescriptions": {
                          "typeIdentifier": "t_type$_t_contract$_EnumerableSet_$19390_$",
                          "typeString": "type(library EnumerableSet)"
                        }
                      },
                      "id": 6241,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "memberName": "length",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 19338,
                      "src": "8482:20:75",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_internal_view$_t_struct$_UintSet_$19260_storage_ptr_$returns$_t_uint256_$",
                        "typeString": "function (struct EnumerableSet.UintSet storage pointer) view returns (uint256)"
                      }
                    },
                    "id": 6243,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "8482:31:75",
                    "tryCall": false,
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "functionReturnParameters": 6239,
                  "id": 6244,
                  "nodeType": "Return",
                  "src": "8475:38:75"
                }
              ]
            },
            "functionSelector": "c71e261f",
            "id": 6246,
            "implemented": true,
            "kind": "function",
            "modifiers": [],
            "name": "products",
            "nameLocation": "8426:8:75",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 6236,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "8434:2:75"
            },
            "returnParameters": {
              "id": 6239,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 6238,
                  "mutability": "mutable",
                  "name": "count",
                  "nameLocation": "8466:5:75",
                  "nodeType": "VariableDeclaration",
                  "scope": 6246,
                  "src": "8458:13:75",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 6237,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "8458:7:75",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "8457:15:75"
            },
            "scope": 6504,
            "src": "8417:99:75",
            "stateMutability": "view",
            "virtual": false,
            "visibility": "public"
          },
          {
            "body": {
              "id": 6256,
              "nodeType": "Block",
              "src": "8576:42:75",
              "statements": [
                {
                  "expression": {
                    "arguments": [
                      {
                        "id": 6253,
                        "name": "_oracles",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 5545,
                        "src": "8606:8:75",
                        "typeDescriptions": {
                          "typeIdentifier": "t_struct$_UintSet_$19260_storage",
                          "typeString": "struct EnumerableSet.UintSet storage ref"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_struct$_UintSet_$19260_storage",
                          "typeString": "struct EnumerableSet.UintSet storage ref"
                        }
                      ],
                      "expression": {
                        "id": 6251,
                        "name": "EnumerableSet",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 19390,
                        "src": "8585:13:75",
                        "typeDescriptions": {
                          "typeIdentifier": "t_type$_t_contract$_EnumerableSet_$19390_$",
                          "typeString": "type(library EnumerableSet)"
                        }
                      },
                      "id": 6252,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "memberName": "length",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 19338,
                      "src": "8585:20:75",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_internal_view$_t_struct$_UintSet_$19260_storage_ptr_$returns$_t_uint256_$",
                        "typeString": "function (struct EnumerableSet.UintSet storage pointer) view returns (uint256)"
                      }
                    },
                    "id": 6254,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "8585:30:75",
                    "tryCall": false,
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "functionReturnParameters": 6250,
                  "id": 6255,
                  "nodeType": "Return",
                  "src": "8578:37:75"
                }
              ]
            },
            "functionSelector": "2857373a",
            "id": 6257,
            "implemented": true,
            "kind": "function",
            "modifiers": [],
            "name": "oracles",
            "nameLocation": "8530:7:75",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 6247,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "8537:2:75"
            },
            "returnParameters": {
              "id": 6250,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 6249,
                  "mutability": "mutable",
                  "name": "count",
                  "nameLocation": "8569:5:75",
                  "nodeType": "VariableDeclaration",
                  "scope": 6257,
                  "src": "8561:13:75",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 6248,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "8561:7:75",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "8560:15:75"
            },
            "scope": 6504,
            "src": "8521:97:75",
            "stateMutability": "view",
            "virtual": false,
            "visibility": "public"
          },
          {
            "body": {
              "id": 6267,
              "nodeType": "Block",
              "src": "8680:44:75",
              "statements": [
                {
                  "expression": {
                    "arguments": [
                      {
                        "id": 6264,
                        "name": "_riskpools",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 5548,
                        "src": "8710:10:75",
                        "typeDescriptions": {
                          "typeIdentifier": "t_struct$_UintSet_$19260_storage",
                          "typeString": "struct EnumerableSet.UintSet storage ref"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_struct$_UintSet_$19260_storage",
                          "typeString": "struct EnumerableSet.UintSet storage ref"
                        }
                      ],
                      "expression": {
                        "id": 6262,
                        "name": "EnumerableSet",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 19390,
                        "src": "8689:13:75",
                        "typeDescriptions": {
                          "typeIdentifier": "t_type$_t_contract$_EnumerableSet_$19390_$",
                          "typeString": "type(library EnumerableSet)"
                        }
                      },
                      "id": 6263,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "memberName": "length",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 19338,
                      "src": "8689:20:75",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_internal_view$_t_struct$_UintSet_$19260_storage_ptr_$returns$_t_uint256_$",
                        "typeString": "function (struct EnumerableSet.UintSet storage pointer) view returns (uint256)"
                      }
                    },
                    "id": 6265,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "8689:32:75",
                    "tryCall": false,
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "functionReturnParameters": 6261,
                  "id": 6266,
                  "nodeType": "Return",
                  "src": "8682:39:75"
                }
              ]
            },
            "functionSelector": "a054381f",
            "id": 6268,
            "implemented": true,
            "kind": "function",
            "modifiers": [],
            "name": "riskpools",
            "nameLocation": "8632:9:75",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 6258,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "8641:2:75"
            },
            "returnParameters": {
              "id": 6261,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 6260,
                  "mutability": "mutable",
                  "name": "count",
                  "nameLocation": "8673:5:75",
                  "nodeType": "VariableDeclaration",
                  "scope": 6268,
                  "src": "8665:13:75",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 6259,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "8665:7:75",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "8664:15:75"
            },
            "scope": 6504,
            "src": "8623:101:75",
            "stateMutability": "view",
            "virtual": false,
            "visibility": "public"
          },
          {
            "body": {
              "id": 6281,
              "nodeType": "Block",
              "src": "8788:49:75",
              "statements": [
                {
                  "expression": {
                    "arguments": [
                      {
                        "id": 6277,
                        "name": "_products",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 5542,
                        "src": "8820:9:75",
                        "typeDescriptions": {
                          "typeIdentifier": "t_struct$_UintSet_$19260_storage",
                          "typeString": "struct EnumerableSet.UintSet storage ref"
                        }
                      },
                      {
                        "id": 6278,
                        "name": "id",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 6270,
                        "src": "8831:2:75",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_struct$_UintSet_$19260_storage",
                          "typeString": "struct EnumerableSet.UintSet storage ref"
                        },
                        {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      ],
                      "expression": {
                        "id": 6275,
                        "name": "EnumerableSet",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 19390,
                        "src": "8797:13:75",
                        "typeDescriptions": {
                          "typeIdentifier": "t_type$_t_contract$_EnumerableSet_$19390_$",
                          "typeString": "type(library EnumerableSet)"
                        }
                      },
                      "id": 6276,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "memberName": "contains",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 19323,
                      "src": "8797:22:75",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_internal_view$_t_struct$_UintSet_$19260_storage_ptr_$_t_uint256_$returns$_t_bool_$",
                        "typeString": "function (struct EnumerableSet.UintSet storage pointer,uint256) view returns (bool)"
                      }
                    },
                    "id": 6279,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "8797:37:75",
                    "tryCall": false,
                    "typeDescriptions": {
                      "typeIdentifier": "t_bool",
                      "typeString": "bool"
                    }
                  },
                  "functionReturnParameters": 6274,
                  "id": 6280,
                  "nodeType": "Return",
                  "src": "8790:44:75"
                }
              ]
            },
            "functionSelector": "3920200c",
            "id": 6282,
            "implemented": true,
            "kind": "function",
            "modifiers": [],
            "name": "isProduct",
            "nameLocation": "8739:9:75",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 6271,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 6270,
                  "mutability": "mutable",
                  "name": "id",
                  "nameLocation": "8757:2:75",
                  "nodeType": "VariableDeclaration",
                  "scope": 6282,
                  "src": "8749:10:75",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 6269,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "8749:7:75",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "8748:12:75"
            },
            "returnParameters": {
              "id": 6274,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 6273,
                  "mutability": "mutable",
                  "name": "",
                  "nameLocation": "-1:-1:-1",
                  "nodeType": "VariableDeclaration",
                  "scope": 6282,
                  "src": "8782:4:75",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bool",
                    "typeString": "bool"
                  },
                  "typeName": {
                    "id": 6272,
                    "name": "bool",
                    "nodeType": "ElementaryTypeName",
                    "src": "8782:4:75",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bool",
                      "typeString": "bool"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "8781:6:75"
            },
            "scope": 6504,
            "src": "8730:107:75",
            "stateMutability": "view",
            "virtual": false,
            "visibility": "public"
          },
          {
            "body": {
              "id": 6295,
              "nodeType": "Block",
              "src": "8900:48:75",
              "statements": [
                {
                  "expression": {
                    "arguments": [
                      {
                        "id": 6291,
                        "name": "_oracles",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 5545,
                        "src": "8932:8:75",
                        "typeDescriptions": {
                          "typeIdentifier": "t_struct$_UintSet_$19260_storage",
                          "typeString": "struct EnumerableSet.UintSet storage ref"
                        }
                      },
                      {
                        "id": 6292,
                        "name": "id",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 6284,
                        "src": "8942:2:75",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_struct$_UintSet_$19260_storage",
                          "typeString": "struct EnumerableSet.UintSet storage ref"
                        },
                        {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      ],
                      "expression": {
                        "id": 6289,
                        "name": "EnumerableSet",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 19390,
                        "src": "8909:13:75",
                        "typeDescriptions": {
                          "typeIdentifier": "t_type$_t_contract$_EnumerableSet_$19390_$",
                          "typeString": "type(library EnumerableSet)"
                        }
                      },
                      "id": 6290,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "memberName": "contains",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 19323,
                      "src": "8909:22:75",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_internal_view$_t_struct$_UintSet_$19260_storage_ptr_$_t_uint256_$returns$_t_bool_$",
                        "typeString": "function (struct EnumerableSet.UintSet storage pointer,uint256) view returns (bool)"
                      }
                    },
                    "id": 6293,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "8909:36:75",
                    "tryCall": false,
                    "typeDescriptions": {
                      "typeIdentifier": "t_bool",
                      "typeString": "bool"
                    }
                  },
                  "functionReturnParameters": 6288,
                  "id": 6294,
                  "nodeType": "Return",
                  "src": "8902:43:75"
                }
              ]
            },
            "functionSelector": "09f63ed9",
            "id": 6296,
            "implemented": true,
            "kind": "function",
            "modifiers": [],
            "name": "isOracle",
            "nameLocation": "8852:8:75",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 6285,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 6284,
                  "mutability": "mutable",
                  "name": "id",
                  "nameLocation": "8869:2:75",
                  "nodeType": "VariableDeclaration",
                  "scope": 6296,
                  "src": "8861:10:75",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 6283,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "8861:7:75",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "8860:12:75"
            },
            "returnParameters": {
              "id": 6288,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 6287,
                  "mutability": "mutable",
                  "name": "",
                  "nameLocation": "-1:-1:-1",
                  "nodeType": "VariableDeclaration",
                  "scope": 6296,
                  "src": "8894:4:75",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bool",
                    "typeString": "bool"
                  },
                  "typeName": {
                    "id": 6286,
                    "name": "bool",
                    "nodeType": "ElementaryTypeName",
                    "src": "8894:4:75",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bool",
                      "typeString": "bool"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "8893:6:75"
            },
            "scope": 6504,
            "src": "8843:105:75",
            "stateMutability": "view",
            "virtual": false,
            "visibility": "public"
          },
          {
            "body": {
              "id": 6309,
              "nodeType": "Block",
              "src": "9013:50:75",
              "statements": [
                {
                  "expression": {
                    "arguments": [
                      {
                        "id": 6305,
                        "name": "_riskpools",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 5548,
                        "src": "9045:10:75",
                        "typeDescriptions": {
                          "typeIdentifier": "t_struct$_UintSet_$19260_storage",
                          "typeString": "struct EnumerableSet.UintSet storage ref"
                        }
                      },
                      {
                        "id": 6306,
                        "name": "id",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 6298,
                        "src": "9057:2:75",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_struct$_UintSet_$19260_storage",
                          "typeString": "struct EnumerableSet.UintSet storage ref"
                        },
                        {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      ],
                      "expression": {
                        "id": 6303,
                        "name": "EnumerableSet",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 19390,
                        "src": "9022:13:75",
                        "typeDescriptions": {
                          "typeIdentifier": "t_type$_t_contract$_EnumerableSet_$19390_$",
                          "typeString": "type(library EnumerableSet)"
                        }
                      },
                      "id": 6304,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "memberName": "contains",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 19323,
                      "src": "9022:22:75",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_internal_view$_t_struct$_UintSet_$19260_storage_ptr_$_t_uint256_$returns$_t_bool_$",
                        "typeString": "function (struct EnumerableSet.UintSet storage pointer,uint256) view returns (bool)"
                      }
                    },
                    "id": 6307,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "9022:38:75",
                    "tryCall": false,
                    "typeDescriptions": {
                      "typeIdentifier": "t_bool",
                      "typeString": "bool"
                    }
                  },
                  "functionReturnParameters": 6302,
                  "id": 6308,
                  "nodeType": "Return",
                  "src": "9015:45:75"
                }
              ]
            },
            "functionSelector": "ba80b8ed",
            "id": 6310,
            "implemented": true,
            "kind": "function",
            "modifiers": [],
            "name": "isRiskpool",
            "nameLocation": "8963:10:75",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 6299,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 6298,
                  "mutability": "mutable",
                  "name": "id",
                  "nameLocation": "8982:2:75",
                  "nodeType": "VariableDeclaration",
                  "scope": 6310,
                  "src": "8974:10:75",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 6297,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "8974:7:75",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "8973:12:75"
            },
            "returnParameters": {
              "id": 6302,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 6301,
                  "mutability": "mutable",
                  "name": "",
                  "nameLocation": "-1:-1:-1",
                  "nodeType": "VariableDeclaration",
                  "scope": 6310,
                  "src": "9007:4:75",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bool",
                    "typeString": "bool"
                  },
                  "typeName": {
                    "id": 6300,
                    "name": "bool",
                    "nodeType": "ElementaryTypeName",
                    "src": "9007:4:75",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bool",
                      "typeString": "bool"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "9006:6:75"
            },
            "scope": 6504,
            "src": "8954:109:75",
            "stateMutability": "view",
            "virtual": false,
            "visibility": "public"
          },
          {
            "body": {
              "id": 6330,
              "nodeType": "Block",
              "src": "9153:139:75",
              "statements": [
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "id": 6319,
                            "name": "productId",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 6312,
                            "src": "9181:9:75",
                            "typeDescriptions": {
                              "typeIdentifier": "t_uint256",
                              "typeString": "uint256"
                            }
                          }
                        ],
                        "expression": {
                          "argumentTypes": [
                            {
                              "typeIdentifier": "t_uint256",
                              "typeString": "uint256"
                            }
                          ],
                          "id": 6318,
                          "name": "isProduct",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 6282,
                          "src": "9171:9:75",
                          "typeDescriptions": {
                            "typeIdentifier": "t_function_internal_view$_t_uint256_$returns$_t_bool_$",
                            "typeString": "function (uint256) view returns (bool)"
                          }
                        },
                        "id": 6320,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "kind": "functionCall",
                        "lValueRequested": false,
                        "names": [],
                        "nodeType": "FunctionCall",
                        "src": "9171:20:75",
                        "tryCall": false,
                        "typeDescriptions": {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        }
                      },
                      {
                        "hexValue": "4552524f523a4343522d3031313a554e4b4e4f574e5f50524f445543545f4944",
                        "id": 6321,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": true,
                        "kind": "string",
                        "lValueRequested": false,
                        "nodeType": "Literal",
                        "src": "9193:34:75",
                        "typeDescriptions": {
                          "typeIdentifier": "t_stringliteral_709b753f017c54bf3895eff7607622481d3ca03b6f3de6ef863313f4912d5c91",
                          "typeString": "literal_string \"ERROR:CCR-011:UNKNOWN_PRODUCT_ID\""
                        },
                        "value": "ERROR:CCR-011:UNKNOWN_PRODUCT_ID"
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        },
                        {
                          "typeIdentifier": "t_stringliteral_709b753f017c54bf3895eff7607622481d3ca03b6f3de6ef863313f4912d5c91",
                          "typeString": "literal_string \"ERROR:CCR-011:UNKNOWN_PRODUCT_ID\""
                        }
                      ],
                      "id": 6317,
                      "name": "require",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [
                        -18,
                        -18
                      ],
                      "referencedDeclaration": -18,
                      "src": "9163:7:75",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$",
                        "typeString": "function (bool,string memory) pure"
                      }
                    },
                    "id": 6322,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "9163:65:75",
                    "tryCall": false,
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 6323,
                  "nodeType": "ExpressionStatement",
                  "src": "9163:65:75"
                },
                {
                  "expression": {
                    "id": 6328,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftHandSide": {
                      "id": 6324,
                      "name": "_policyFlow",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 6315,
                      "src": "9238:11:75",
                      "typeDescriptions": {
                        "typeIdentifier": "t_address",
                        "typeString": "address"
                      }
                    },
                    "nodeType": "Assignment",
                    "operator": "=",
                    "rightHandSide": {
                      "baseExpression": {
                        "id": 6325,
                        "name": "_policyFlowByProductId",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 5554,
                        "src": "9252:22:75",
                        "typeDescriptions": {
                          "typeIdentifier": "t_mapping$_t_uint256_$_t_address_$",
                          "typeString": "mapping(uint256 => address)"
                        }
                      },
                      "id": 6327,
                      "indexExpression": {
                        "id": 6326,
                        "name": "productId",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 6312,
                        "src": "9275:9:75",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      },
                      "isConstant": false,
                      "isLValue": true,
                      "isPure": false,
                      "lValueRequested": false,
                      "nodeType": "IndexAccess",
                      "src": "9252:33:75",
                      "typeDescriptions": {
                        "typeIdentifier": "t_address",
                        "typeString": "address"
                      }
                    },
                    "src": "9238:47:75",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "id": 6329,
                  "nodeType": "ExpressionStatement",
                  "src": "9238:47:75"
                }
              ]
            },
            "functionSelector": "e61ae297",
            "id": 6331,
            "implemented": true,
            "kind": "function",
            "modifiers": [],
            "name": "getPolicyFlow",
            "nameLocation": "9078:13:75",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 6313,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 6312,
                  "mutability": "mutable",
                  "name": "productId",
                  "nameLocation": "9100:9:75",
                  "nodeType": "VariableDeclaration",
                  "scope": 6331,
                  "src": "9092:17:75",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 6311,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "9092:7:75",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "9091:19:75"
            },
            "returnParameters": {
              "id": 6316,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 6315,
                  "mutability": "mutable",
                  "name": "_policyFlow",
                  "nameLocation": "9140:11:75",
                  "nodeType": "VariableDeclaration",
                  "scope": 6331,
                  "src": "9132:19:75",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 6314,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "9132:7:75",
                    "stateMutability": "nonpayable",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "9131:21:75"
            },
            "scope": 6504,
            "src": "9069:223:75",
            "stateMutability": "view",
            "virtual": false,
            "visibility": "public"
          },
          {
            "body": {
              "id": 6365,
              "nodeType": "Block",
              "src": "9386:315:75",
              "statements": [
                {
                  "assignments": [
                    6343
                  ],
                  "declarations": [
                    {
                      "constant": false,
                      "id": 6343,
                      "mutability": "mutable",
                      "name": "oldState",
                      "nameLocation": "9422:8:75",
                      "nodeType": "VariableDeclaration",
                      "scope": 6365,
                      "src": "9396:34:75",
                      "stateVariable": false,
                      "storageLocation": "default",
                      "typeDescriptions": {
                        "typeIdentifier": "t_enum$_ComponentState_$22010",
                        "typeString": "enum IComponent.ComponentState"
                      },
                      "typeName": {
                        "id": 6342,
                        "nodeType": "UserDefinedTypeName",
                        "pathNode": {
                          "id": 6341,
                          "name": "IComponent.ComponentState",
                          "nodeType": "IdentifierPath",
                          "referencedDeclaration": 22010,
                          "src": "9396:25:75"
                        },
                        "referencedDeclaration": 22010,
                        "src": "9396:25:75",
                        "typeDescriptions": {
                          "typeIdentifier": "t_enum$_ComponentState_$22010",
                          "typeString": "enum IComponent.ComponentState"
                        }
                      },
                      "visibility": "internal"
                    }
                  ],
                  "id": 6347,
                  "initialValue": {
                    "baseExpression": {
                      "id": 6344,
                      "name": "_componentState",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 5539,
                      "src": "9433:15:75",
                      "typeDescriptions": {
                        "typeIdentifier": "t_mapping$_t_uint256_$_t_enum$_ComponentState_$22010_$",
                        "typeString": "mapping(uint256 => enum IComponent.ComponentState)"
                      }
                    },
                    "id": 6346,
                    "indexExpression": {
                      "id": 6345,
                      "name": "componentId",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 6333,
                      "src": "9449:11:75",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "isConstant": false,
                    "isLValue": true,
                    "isPure": false,
                    "lValueRequested": false,
                    "nodeType": "IndexAccess",
                    "src": "9433:28:75",
                    "typeDescriptions": {
                      "typeIdentifier": "t_enum$_ComponentState_$22010",
                      "typeString": "enum IComponent.ComponentState"
                    }
                  },
                  "nodeType": "VariableDeclarationStatement",
                  "src": "9396:65:75"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "id": 6349,
                        "name": "oldState",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 6343,
                        "src": "9494:8:75",
                        "typeDescriptions": {
                          "typeIdentifier": "t_enum$_ComponentState_$22010",
                          "typeString": "enum IComponent.ComponentState"
                        }
                      },
                      {
                        "id": 6350,
                        "name": "newState",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 6336,
                        "src": "9504:8:75",
                        "typeDescriptions": {
                          "typeIdentifier": "t_enum$_ComponentState_$22010",
                          "typeString": "enum IComponent.ComponentState"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_enum$_ComponentState_$22010",
                          "typeString": "enum IComponent.ComponentState"
                        },
                        {
                          "typeIdentifier": "t_enum$_ComponentState_$22010",
                          "typeString": "enum IComponent.ComponentState"
                        }
                      ],
                      "id": 6348,
                      "name": "_checkStateTransition",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 6503,
                      "src": "9472:21:75",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_internal_pure$_t_enum$_ComponentState_$22010_$_t_enum$_ComponentState_$22010_$returns$__$",
                        "typeString": "function (enum IComponent.ComponentState,enum IComponent.ComponentState) pure"
                      }
                    },
                    "id": 6351,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "9472:41:75",
                    "tryCall": false,
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 6352,
                  "nodeType": "ExpressionStatement",
                  "src": "9472:41:75"
                },
                {
                  "expression": {
                    "id": 6357,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftHandSide": {
                      "baseExpression": {
                        "id": 6353,
                        "name": "_componentState",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 5539,
                        "src": "9523:15:75",
                        "typeDescriptions": {
                          "typeIdentifier": "t_mapping$_t_uint256_$_t_enum$_ComponentState_$22010_$",
                          "typeString": "mapping(uint256 => enum IComponent.ComponentState)"
                        }
                      },
                      "id": 6355,
                      "indexExpression": {
                        "id": 6354,
                        "name": "componentId",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 6333,
                        "src": "9539:11:75",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      },
                      "isConstant": false,
                      "isLValue": true,
                      "isPure": false,
                      "lValueRequested": true,
                      "nodeType": "IndexAccess",
                      "src": "9523:28:75",
                      "typeDescriptions": {
                        "typeIdentifier": "t_enum$_ComponentState_$22010",
                        "typeString": "enum IComponent.ComponentState"
                      }
                    },
                    "nodeType": "Assignment",
                    "operator": "=",
                    "rightHandSide": {
                      "id": 6356,
                      "name": "newState",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 6336,
                      "src": "9554:8:75",
                      "typeDescriptions": {
                        "typeIdentifier": "t_enum$_ComponentState_$22010",
                        "typeString": "enum IComponent.ComponentState"
                      }
                    },
                    "src": "9523:39:75",
                    "typeDescriptions": {
                      "typeIdentifier": "t_enum$_ComponentState_$22010",
                      "typeString": "enum IComponent.ComponentState"
                    }
                  },
                  "id": 6358,
                  "nodeType": "ExpressionStatement",
                  "src": "9523:39:75"
                },
                {
                  "eventCall": {
                    "arguments": [
                      {
                        "id": 6360,
                        "name": "componentId",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 6333,
                        "src": "9662:11:75",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      },
                      {
                        "id": 6361,
                        "name": "oldState",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 6343,
                        "src": "9675:8:75",
                        "typeDescriptions": {
                          "typeIdentifier": "t_enum$_ComponentState_$22010",
                          "typeString": "enum IComponent.ComponentState"
                        }
                      },
                      {
                        "id": 6362,
                        "name": "newState",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 6336,
                        "src": "9685:8:75",
                        "typeDescriptions": {
                          "typeIdentifier": "t_enum$_ComponentState_$22010",
                          "typeString": "enum IComponent.ComponentState"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        },
                        {
                          "typeIdentifier": "t_enum$_ComponentState_$22010",
                          "typeString": "enum IComponent.ComponentState"
                        },
                        {
                          "typeIdentifier": "t_enum$_ComponentState_$22010",
                          "typeString": "enum IComponent.ComponentState"
                        }
                      ],
                      "id": 6359,
                      "name": "LogComponentStateChanged",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 22418,
                      "src": "9637:24:75",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_event_nonpayable$_t_uint256_$_t_enum$_ComponentState_$22010_$_t_enum$_ComponentState_$22010_$returns$__$",
                        "typeString": "function (uint256,enum IComponent.ComponentState,enum IComponent.ComponentState)"
                      }
                    },
                    "id": 6363,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "9637:57:75",
                    "tryCall": false,
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 6364,
                  "nodeType": "EmitStatement",
                  "src": "9632:62:75"
                }
              ]
            },
            "id": 6366,
            "implemented": true,
            "kind": "function",
            "modifiers": [],
            "name": "_changeState",
            "nameLocation": "9307:12:75",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 6337,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 6333,
                  "mutability": "mutable",
                  "name": "componentId",
                  "nameLocation": "9328:11:75",
                  "nodeType": "VariableDeclaration",
                  "scope": 6366,
                  "src": "9320:19:75",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 6332,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "9320:7:75",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 6336,
                  "mutability": "mutable",
                  "name": "newState",
                  "nameLocation": "9367:8:75",
                  "nodeType": "VariableDeclaration",
                  "scope": 6366,
                  "src": "9341:34:75",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_enum$_ComponentState_$22010",
                    "typeString": "enum IComponent.ComponentState"
                  },
                  "typeName": {
                    "id": 6335,
                    "nodeType": "UserDefinedTypeName",
                    "pathNode": {
                      "id": 6334,
                      "name": "IComponent.ComponentState",
                      "nodeType": "IdentifierPath",
                      "referencedDeclaration": 22010,
                      "src": "9341:25:75"
                    },
                    "referencedDeclaration": 22010,
                    "src": "9341:25:75",
                    "typeDescriptions": {
                      "typeIdentifier": "t_enum$_ComponentState_$22010",
                      "typeString": "enum IComponent.ComponentState"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "9319:57:75"
            },
            "returnParameters": {
              "id": 6338,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "9386:0:75"
            },
            "scope": 6504,
            "src": "9298:403:75",
            "stateMutability": "nonpayable",
            "virtual": false,
            "visibility": "internal"
          },
          {
            "body": {
              "id": 6502,
              "nodeType": "Block",
              "src": "9870:1582:75",
              "statements": [
                {
                  "expression": {
                    "arguments": [
                      {
                        "commonType": {
                          "typeIdentifier": "t_enum$_ComponentState_$22010",
                          "typeString": "enum IComponent.ComponentState"
                        },
                        "id": 6378,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "lValueRequested": false,
                        "leftExpression": {
                          "id": 6376,
                          "name": "newState",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 6372,
                          "src": "9888:8:75",
                          "typeDescriptions": {
                            "typeIdentifier": "t_enum$_ComponentState_$22010",
                            "typeString": "enum IComponent.ComponentState"
                          }
                        },
                        "nodeType": "BinaryOperation",
                        "operator": "!=",
                        "rightExpression": {
                          "id": 6377,
                          "name": "oldState",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 6369,
                          "src": "9900:8:75",
                          "typeDescriptions": {
                            "typeIdentifier": "t_enum$_ComponentState_$22010",
                            "typeString": "enum IComponent.ComponentState"
                          }
                        },
                        "src": "9888:20:75",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        }
                      },
                      {
                        "hexValue": "4552524f523a4343522d3032303a534f555243455f414e445f5441524745545f53544154455f4944454e544943414c",
                        "id": 6379,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": true,
                        "kind": "string",
                        "lValueRequested": false,
                        "nodeType": "Literal",
                        "src": "9923:49:75",
                        "typeDescriptions": {
                          "typeIdentifier": "t_stringliteral_6b075609608efafdf82ca4cfa74bf357d9aad12ac8bb658b7fb7cfcfb10656bd",
                          "typeString": "literal_string \"ERROR:CCR-020:SOURCE_AND_TARGET_STATE_IDENTICAL\""
                        },
                        "value": "ERROR:CCR-020:SOURCE_AND_TARGET_STATE_IDENTICAL"
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        },
                        {
                          "typeIdentifier": "t_stringliteral_6b075609608efafdf82ca4cfa74bf357d9aad12ac8bb658b7fb7cfcfb10656bd",
                          "typeString": "literal_string \"ERROR:CCR-020:SOURCE_AND_TARGET_STATE_IDENTICAL\""
                        }
                      ],
                      "id": 6375,
                      "name": "require",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [
                        -18,
                        -18
                      ],
                      "referencedDeclaration": -18,
                      "src": "9880:7:75",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$",
                        "typeString": "function (bool,string memory) pure"
                      }
                    },
                    "id": 6380,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "9880:93:75",
                    "tryCall": false,
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 6381,
                  "nodeType": "ExpressionStatement",
                  "src": "9880:93:75"
                },
                {
                  "condition": {
                    "commonType": {
                      "typeIdentifier": "t_enum$_ComponentState_$22010",
                      "typeString": "enum IComponent.ComponentState"
                    },
                    "id": 6386,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftExpression": {
                      "id": 6382,
                      "name": "oldState",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 6369,
                      "src": "9996:8:75",
                      "typeDescriptions": {
                        "typeIdentifier": "t_enum$_ComponentState_$22010",
                        "typeString": "enum IComponent.ComponentState"
                      }
                    },
                    "nodeType": "BinaryOperation",
                    "operator": "==",
                    "rightExpression": {
                      "expression": {
                        "expression": {
                          "id": 6383,
                          "name": "IComponent",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 22099,
                          "src": "10008:10:75",
                          "typeDescriptions": {
                            "typeIdentifier": "t_type$_t_contract$_IComponent_$22099_$",
                            "typeString": "type(contract IComponent)"
                          }
                        },
                        "id": 6384,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "lValueRequested": false,
                        "memberName": "ComponentState",
                        "nodeType": "MemberAccess",
                        "referencedDeclaration": 22010,
                        "src": "10008:25:75",
                        "typeDescriptions": {
                          "typeIdentifier": "t_type$_t_enum$_ComponentState_$22010_$",
                          "typeString": "type(enum IComponent.ComponentState)"
                        }
                      },
                      "id": 6385,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": true,
                      "lValueRequested": false,
                      "memberName": "Created",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 22003,
                      "src": "10008:33:75",
                      "typeDescriptions": {
                        "typeIdentifier": "t_enum$_ComponentState_$22010",
                        "typeString": "enum IComponent.ComponentState"
                      }
                    },
                    "src": "9996:45:75",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bool",
                      "typeString": "bool"
                    }
                  },
                  "falseBody": {
                    "condition": {
                      "commonType": {
                        "typeIdentifier": "t_enum$_ComponentState_$22010",
                        "typeString": "enum IComponent.ComponentState"
                      },
                      "id": 6401,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "leftExpression": {
                        "id": 6397,
                        "name": "oldState",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 6369,
                        "src": "10194:8:75",
                        "typeDescriptions": {
                          "typeIdentifier": "t_enum$_ComponentState_$22010",
                          "typeString": "enum IComponent.ComponentState"
                        }
                      },
                      "nodeType": "BinaryOperation",
                      "operator": "==",
                      "rightExpression": {
                        "expression": {
                          "expression": {
                            "id": 6398,
                            "name": "IComponent",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 22099,
                            "src": "10206:10:75",
                            "typeDescriptions": {
                              "typeIdentifier": "t_type$_t_contract$_IComponent_$22099_$",
                              "typeString": "type(contract IComponent)"
                            }
                          },
                          "id": 6399,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "memberName": "ComponentState",
                          "nodeType": "MemberAccess",
                          "referencedDeclaration": 22010,
                          "src": "10206:25:75",
                          "typeDescriptions": {
                            "typeIdentifier": "t_type$_t_enum$_ComponentState_$22010_$",
                            "typeString": "type(enum IComponent.ComponentState)"
                          }
                        },
                        "id": 6400,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": true,
                        "lValueRequested": false,
                        "memberName": "Proposed",
                        "nodeType": "MemberAccess",
                        "referencedDeclaration": 22004,
                        "src": "10206:34:75",
                        "typeDescriptions": {
                          "typeIdentifier": "t_enum$_ComponentState_$22010",
                          "typeString": "enum IComponent.ComponentState"
                        }
                      },
                      "src": "10194:46:75",
                      "typeDescriptions": {
                        "typeIdentifier": "t_bool",
                        "typeString": "bool"
                      }
                    },
                    "falseBody": {
                      "condition": {
                        "commonType": {
                          "typeIdentifier": "t_enum$_ComponentState_$22010",
                          "typeString": "enum IComponent.ComponentState"
                        },
                        "id": 6422,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "lValueRequested": false,
                        "leftExpression": {
                          "id": 6418,
                          "name": "oldState",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 6369,
                          "src": "10458:8:75",
                          "typeDescriptions": {
                            "typeIdentifier": "t_enum$_ComponentState_$22010",
                            "typeString": "enum IComponent.ComponentState"
                          }
                        },
                        "nodeType": "BinaryOperation",
                        "operator": "==",
                        "rightExpression": {
                          "expression": {
                            "expression": {
                              "id": 6419,
                              "name": "IComponent",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 22099,
                              "src": "10470:10:75",
                              "typeDescriptions": {
                                "typeIdentifier": "t_type$_t_contract$_IComponent_$22099_$",
                                "typeString": "type(contract IComponent)"
                              }
                            },
                            "id": 6420,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": false,
                            "lValueRequested": false,
                            "memberName": "ComponentState",
                            "nodeType": "MemberAccess",
                            "referencedDeclaration": 22010,
                            "src": "10470:25:75",
                            "typeDescriptions": {
                              "typeIdentifier": "t_type$_t_enum$_ComponentState_$22010_$",
                              "typeString": "type(enum IComponent.ComponentState)"
                            }
                          },
                          "id": 6421,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": true,
                          "lValueRequested": false,
                          "memberName": "Declined",
                          "nodeType": "MemberAccess",
                          "referencedDeclaration": 22005,
                          "src": "10470:34:75",
                          "typeDescriptions": {
                            "typeIdentifier": "t_enum$_ComponentState_$22010",
                            "typeString": "enum IComponent.ComponentState"
                          }
                        },
                        "src": "10458:46:75",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        }
                      },
                      "falseBody": {
                        "condition": {
                          "commonType": {
                            "typeIdentifier": "t_enum$_ComponentState_$22010",
                            "typeString": "enum IComponent.ComponentState"
                          },
                          "id": 6432,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "leftExpression": {
                            "id": 6428,
                            "name": "oldState",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 6369,
                            "src": "10588:8:75",
                            "typeDescriptions": {
                              "typeIdentifier": "t_enum$_ComponentState_$22010",
                              "typeString": "enum IComponent.ComponentState"
                            }
                          },
                          "nodeType": "BinaryOperation",
                          "operator": "==",
                          "rightExpression": {
                            "expression": {
                              "expression": {
                                "id": 6429,
                                "name": "IComponent",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 22099,
                                "src": "10600:10:75",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_type$_t_contract$_IComponent_$22099_$",
                                  "typeString": "type(contract IComponent)"
                                }
                              },
                              "id": 6430,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": false,
                              "lValueRequested": false,
                              "memberName": "ComponentState",
                              "nodeType": "MemberAccess",
                              "referencedDeclaration": 22010,
                              "src": "10600:25:75",
                              "typeDescriptions": {
                                "typeIdentifier": "t_type$_t_enum$_ComponentState_$22010_$",
                                "typeString": "type(enum IComponent.ComponentState)"
                              }
                            },
                            "id": 6431,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": true,
                            "lValueRequested": false,
                            "memberName": "Active",
                            "nodeType": "MemberAccess",
                            "referencedDeclaration": 22006,
                            "src": "10600:32:75",
                            "typeDescriptions": {
                              "typeIdentifier": "t_enum$_ComponentState_$22010",
                              "typeString": "enum IComponent.ComponentState"
                            }
                          },
                          "src": "10588:44:75",
                          "typeDescriptions": {
                            "typeIdentifier": "t_bool",
                            "typeString": "bool"
                          }
                        },
                        "falseBody": {
                          "condition": {
                            "commonType": {
                              "typeIdentifier": "t_enum$_ComponentState_$22010",
                              "typeString": "enum IComponent.ComponentState"
                            },
                            "id": 6453,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": false,
                            "lValueRequested": false,
                            "leftExpression": {
                              "id": 6449,
                              "name": "oldState",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 6369,
                              "src": "10850:8:75",
                              "typeDescriptions": {
                                "typeIdentifier": "t_enum$_ComponentState_$22010",
                                "typeString": "enum IComponent.ComponentState"
                              }
                            },
                            "nodeType": "BinaryOperation",
                            "operator": "==",
                            "rightExpression": {
                              "expression": {
                                "expression": {
                                  "id": 6450,
                                  "name": "IComponent",
                                  "nodeType": "Identifier",
                                  "overloadedDeclarations": [],
                                  "referencedDeclaration": 22099,
                                  "src": "10862:10:75",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_type$_t_contract$_IComponent_$22099_$",
                                    "typeString": "type(contract IComponent)"
                                  }
                                },
                                "id": 6451,
                                "isConstant": false,
                                "isLValue": false,
                                "isPure": false,
                                "lValueRequested": false,
                                "memberName": "ComponentState",
                                "nodeType": "MemberAccess",
                                "referencedDeclaration": 22010,
                                "src": "10862:25:75",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_type$_t_enum$_ComponentState_$22010_$",
                                  "typeString": "type(enum IComponent.ComponentState)"
                                }
                              },
                              "id": 6452,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": true,
                              "lValueRequested": false,
                              "memberName": "Paused",
                              "nodeType": "MemberAccess",
                              "referencedDeclaration": 22007,
                              "src": "10862:32:75",
                              "typeDescriptions": {
                                "typeIdentifier": "t_enum$_ComponentState_$22010",
                                "typeString": "enum IComponent.ComponentState"
                              }
                            },
                            "src": "10850:44:75",
                            "typeDescriptions": {
                              "typeIdentifier": "t_bool",
                              "typeString": "bool"
                            }
                          },
                          "falseBody": {
                            "condition": {
                              "commonType": {
                                "typeIdentifier": "t_enum$_ComponentState_$22010",
                                "typeString": "enum IComponent.ComponentState"
                              },
                              "id": 6474,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": false,
                              "lValueRequested": false,
                              "leftExpression": {
                                "id": 6470,
                                "name": "oldState",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 6369,
                                "src": "11110:8:75",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_enum$_ComponentState_$22010",
                                  "typeString": "enum IComponent.ComponentState"
                                }
                              },
                              "nodeType": "BinaryOperation",
                              "operator": "==",
                              "rightExpression": {
                                "expression": {
                                  "expression": {
                                    "id": 6471,
                                    "name": "IComponent",
                                    "nodeType": "Identifier",
                                    "overloadedDeclarations": [],
                                    "referencedDeclaration": 22099,
                                    "src": "11122:10:75",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_type$_t_contract$_IComponent_$22099_$",
                                      "typeString": "type(contract IComponent)"
                                    }
                                  },
                                  "id": 6472,
                                  "isConstant": false,
                                  "isLValue": false,
                                  "isPure": false,
                                  "lValueRequested": false,
                                  "memberName": "ComponentState",
                                  "nodeType": "MemberAccess",
                                  "referencedDeclaration": 22010,
                                  "src": "11122:25:75",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_type$_t_enum$_ComponentState_$22010_$",
                                    "typeString": "type(enum IComponent.ComponentState)"
                                  }
                                },
                                "id": 6473,
                                "isConstant": false,
                                "isLValue": false,
                                "isPure": true,
                                "lValueRequested": false,
                                "memberName": "Suspended",
                                "nodeType": "MemberAccess",
                                "referencedDeclaration": 22008,
                                "src": "11122:35:75",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_enum$_ComponentState_$22010",
                                  "typeString": "enum IComponent.ComponentState"
                                }
                              },
                              "src": "11110:47:75",
                              "typeDescriptions": {
                                "typeIdentifier": "t_bool",
                                "typeString": "bool"
                              }
                            },
                            "falseBody": {
                              "id": 6495,
                              "nodeType": "Block",
                              "src": "11372:74:75",
                              "statements": [
                                {
                                  "expression": {
                                    "arguments": [
                                      {
                                        "hexValue": "4552524f523a4343522d3032373a494e495449414c5f53544154455f4e4f545f48414e444c4544",
                                        "id": 6492,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": true,
                                        "kind": "string",
                                        "lValueRequested": false,
                                        "nodeType": "Literal",
                                        "src": "11393:41:75",
                                        "typeDescriptions": {
                                          "typeIdentifier": "t_stringliteral_512ac6c7424b7e416123df2c876fbcb260e557a5e44ae55dbe69355255653f93",
                                          "typeString": "literal_string \"ERROR:CCR-027:INITIAL_STATE_NOT_HANDLED\""
                                        },
                                        "value": "ERROR:CCR-027:INITIAL_STATE_NOT_HANDLED"
                                      }
                                    ],
                                    "expression": {
                                      "argumentTypes": [
                                        {
                                          "typeIdentifier": "t_stringliteral_512ac6c7424b7e416123df2c876fbcb260e557a5e44ae55dbe69355255653f93",
                                          "typeString": "literal_string \"ERROR:CCR-027:INITIAL_STATE_NOT_HANDLED\""
                                        }
                                      ],
                                      "id": 6491,
                                      "name": "revert",
                                      "nodeType": "Identifier",
                                      "overloadedDeclarations": [
                                        -19,
                                        -19
                                      ],
                                      "referencedDeclaration": -19,
                                      "src": "11386:6:75",
                                      "typeDescriptions": {
                                        "typeIdentifier": "t_function_revert_pure$_t_string_memory_ptr_$returns$__$",
                                        "typeString": "function (string memory) pure"
                                      }
                                    },
                                    "id": 6493,
                                    "isConstant": false,
                                    "isLValue": false,
                                    "isPure": false,
                                    "kind": "functionCall",
                                    "lValueRequested": false,
                                    "names": [],
                                    "nodeType": "FunctionCall",
                                    "src": "11386:49:75",
                                    "tryCall": false,
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_tuple$__$",
                                      "typeString": "tuple()"
                                    }
                                  },
                                  "id": 6494,
                                  "nodeType": "ExpressionStatement",
                                  "src": "11386:49:75"
                                }
                              ]
                            },
                            "id": 6496,
                            "nodeType": "IfStatement",
                            "src": "11106:340:75",
                            "trueBody": {
                              "id": 6490,
                              "nodeType": "Block",
                              "src": "11159:207:75",
                              "statements": [
                                {
                                  "expression": {
                                    "arguments": [
                                      {
                                        "commonType": {
                                          "typeIdentifier": "t_bool",
                                          "typeString": "bool"
                                        },
                                        "id": 6486,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "lValueRequested": false,
                                        "leftExpression": {
                                          "commonType": {
                                            "typeIdentifier": "t_enum$_ComponentState_$22010",
                                            "typeString": "enum IComponent.ComponentState"
                                          },
                                          "id": 6480,
                                          "isConstant": false,
                                          "isLValue": false,
                                          "isPure": false,
                                          "lValueRequested": false,
                                          "leftExpression": {
                                            "id": 6476,
                                            "name": "newState",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 6372,
                                            "src": "11181:8:75",
                                            "typeDescriptions": {
                                              "typeIdentifier": "t_enum$_ComponentState_$22010",
                                              "typeString": "enum IComponent.ComponentState"
                                            }
                                          },
                                          "nodeType": "BinaryOperation",
                                          "operator": "==",
                                          "rightExpression": {
                                            "expression": {
                                              "expression": {
                                                "id": 6477,
                                                "name": "IComponent",
                                                "nodeType": "Identifier",
                                                "overloadedDeclarations": [],
                                                "referencedDeclaration": 22099,
                                                "src": "11193:10:75",
                                                "typeDescriptions": {
                                                  "typeIdentifier": "t_type$_t_contract$_IComponent_$22099_$",
                                                  "typeString": "type(contract IComponent)"
                                                }
                                              },
                                              "id": 6478,
                                              "isConstant": false,
                                              "isLValue": false,
                                              "isPure": false,
                                              "lValueRequested": false,
                                              "memberName": "ComponentState",
                                              "nodeType": "MemberAccess",
                                              "referencedDeclaration": 22010,
                                              "src": "11193:25:75",
                                              "typeDescriptions": {
                                                "typeIdentifier": "t_type$_t_enum$_ComponentState_$22010_$",
                                                "typeString": "type(enum IComponent.ComponentState)"
                                              }
                                            },
                                            "id": 6479,
                                            "isConstant": false,
                                            "isLValue": false,
                                            "isPure": true,
                                            "lValueRequested": false,
                                            "memberName": "Active",
                                            "nodeType": "MemberAccess",
                                            "referencedDeclaration": 22006,
                                            "src": "11193:32:75",
                                            "typeDescriptions": {
                                              "typeIdentifier": "t_enum$_ComponentState_$22010",
                                              "typeString": "enum IComponent.ComponentState"
                                            }
                                          },
                                          "src": "11181:44:75",
                                          "typeDescriptions": {
                                            "typeIdentifier": "t_bool",
                                            "typeString": "bool"
                                          }
                                        },
                                        "nodeType": "BinaryOperation",
                                        "operator": "||",
                                        "rightExpression": {
                                          "commonType": {
                                            "typeIdentifier": "t_enum$_ComponentState_$22010",
                                            "typeString": "enum IComponent.ComponentState"
                                          },
                                          "id": 6485,
                                          "isConstant": false,
                                          "isLValue": false,
                                          "isPure": false,
                                          "lValueRequested": false,
                                          "leftExpression": {
                                            "id": 6481,
                                            "name": "newState",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 6372,
                                            "src": "11245:8:75",
                                            "typeDescriptions": {
                                              "typeIdentifier": "t_enum$_ComponentState_$22010",
                                              "typeString": "enum IComponent.ComponentState"
                                            }
                                          },
                                          "nodeType": "BinaryOperation",
                                          "operator": "==",
                                          "rightExpression": {
                                            "expression": {
                                              "expression": {
                                                "id": 6482,
                                                "name": "IComponent",
                                                "nodeType": "Identifier",
                                                "overloadedDeclarations": [],
                                                "referencedDeclaration": 22099,
                                                "src": "11257:10:75",
                                                "typeDescriptions": {
                                                  "typeIdentifier": "t_type$_t_contract$_IComponent_$22099_$",
                                                  "typeString": "type(contract IComponent)"
                                                }
                                              },
                                              "id": 6483,
                                              "isConstant": false,
                                              "isLValue": false,
                                              "isPure": false,
                                              "lValueRequested": false,
                                              "memberName": "ComponentState",
                                              "nodeType": "MemberAccess",
                                              "referencedDeclaration": 22010,
                                              "src": "11257:25:75",
                                              "typeDescriptions": {
                                                "typeIdentifier": "t_type$_t_enum$_ComponentState_$22010_$",
                                                "typeString": "type(enum IComponent.ComponentState)"
                                              }
                                            },
                                            "id": 6484,
                                            "isConstant": false,
                                            "isLValue": false,
                                            "isPure": true,
                                            "lValueRequested": false,
                                            "memberName": "Archived",
                                            "nodeType": "MemberAccess",
                                            "referencedDeclaration": 22009,
                                            "src": "11257:34:75",
                                            "typeDescriptions": {
                                              "typeIdentifier": "t_enum$_ComponentState_$22010",
                                              "typeString": "enum IComponent.ComponentState"
                                            }
                                          },
                                          "src": "11245:46:75",
                                          "typeDescriptions": {
                                            "typeIdentifier": "t_bool",
                                            "typeString": "bool"
                                          }
                                        },
                                        "src": "11181:110:75",
                                        "typeDescriptions": {
                                          "typeIdentifier": "t_bool",
                                          "typeString": "bool"
                                        }
                                      },
                                      {
                                        "hexValue": "4552524f523a4343522d3032363a53555350454e4445445f494e56414c49445f5452414e534954494f4e",
                                        "id": 6487,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": true,
                                        "kind": "string",
                                        "lValueRequested": false,
                                        "nodeType": "Literal",
                                        "src": "11310:44:75",
                                        "typeDescriptions": {
                                          "typeIdentifier": "t_stringliteral_58a6319ab23087cefcdbcbd3c8e4c0242721e866c13cbc743fb203df63de1716",
                                          "typeString": "literal_string \"ERROR:CCR-026:SUSPENDED_INVALID_TRANSITION\""
                                        },
                                        "value": "ERROR:CCR-026:SUSPENDED_INVALID_TRANSITION"
                                      }
                                    ],
                                    "expression": {
                                      "argumentTypes": [
                                        {
                                          "typeIdentifier": "t_bool",
                                          "typeString": "bool"
                                        },
                                        {
                                          "typeIdentifier": "t_stringliteral_58a6319ab23087cefcdbcbd3c8e4c0242721e866c13cbc743fb203df63de1716",
                                          "typeString": "literal_string \"ERROR:CCR-026:SUSPENDED_INVALID_TRANSITION\""
                                        }
                                      ],
                                      "id": 6475,
                                      "name": "require",
                                      "nodeType": "Identifier",
                                      "overloadedDeclarations": [
                                        -18,
                                        -18
                                      ],
                                      "referencedDeclaration": -18,
                                      "src": "11173:7:75",
                                      "typeDescriptions": {
                                        "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$",
                                        "typeString": "function (bool,string memory) pure"
                                      }
                                    },
                                    "id": 6488,
                                    "isConstant": false,
                                    "isLValue": false,
                                    "isPure": false,
                                    "kind": "functionCall",
                                    "lValueRequested": false,
                                    "names": [],
                                    "nodeType": "FunctionCall",
                                    "src": "11173:182:75",
                                    "tryCall": false,
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_tuple$__$",
                                      "typeString": "tuple()"
                                    }
                                  },
                                  "id": 6489,
                                  "nodeType": "ExpressionStatement",
                                  "src": "11173:182:75"
                                }
                              ]
                            }
                          },
                          "id": 6497,
                          "nodeType": "IfStatement",
                          "src": "10846:600:75",
                          "trueBody": {
                            "id": 6469,
                            "nodeType": "Block",
                            "src": "10896:204:75",
                            "statements": [
                              {
                                "expression": {
                                  "arguments": [
                                    {
                                      "commonType": {
                                        "typeIdentifier": "t_bool",
                                        "typeString": "bool"
                                      },
                                      "id": 6465,
                                      "isConstant": false,
                                      "isLValue": false,
                                      "isPure": false,
                                      "lValueRequested": false,
                                      "leftExpression": {
                                        "commonType": {
                                          "typeIdentifier": "t_enum$_ComponentState_$22010",
                                          "typeString": "enum IComponent.ComponentState"
                                        },
                                        "id": 6459,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "lValueRequested": false,
                                        "leftExpression": {
                                          "id": 6455,
                                          "name": "newState",
                                          "nodeType": "Identifier",
                                          "overloadedDeclarations": [],
                                          "referencedDeclaration": 6372,
                                          "src": "10918:8:75",
                                          "typeDescriptions": {
                                            "typeIdentifier": "t_enum$_ComponentState_$22010",
                                            "typeString": "enum IComponent.ComponentState"
                                          }
                                        },
                                        "nodeType": "BinaryOperation",
                                        "operator": "==",
                                        "rightExpression": {
                                          "expression": {
                                            "expression": {
                                              "id": 6456,
                                              "name": "IComponent",
                                              "nodeType": "Identifier",
                                              "overloadedDeclarations": [],
                                              "referencedDeclaration": 22099,
                                              "src": "10930:10:75",
                                              "typeDescriptions": {
                                                "typeIdentifier": "t_type$_t_contract$_IComponent_$22099_$",
                                                "typeString": "type(contract IComponent)"
                                              }
                                            },
                                            "id": 6457,
                                            "isConstant": false,
                                            "isLValue": false,
                                            "isPure": false,
                                            "lValueRequested": false,
                                            "memberName": "ComponentState",
                                            "nodeType": "MemberAccess",
                                            "referencedDeclaration": 22010,
                                            "src": "10930:25:75",
                                            "typeDescriptions": {
                                              "typeIdentifier": "t_type$_t_enum$_ComponentState_$22010_$",
                                              "typeString": "type(enum IComponent.ComponentState)"
                                            }
                                          },
                                          "id": 6458,
                                          "isConstant": false,
                                          "isLValue": false,
                                          "isPure": true,
                                          "lValueRequested": false,
                                          "memberName": "Active",
                                          "nodeType": "MemberAccess",
                                          "referencedDeclaration": 22006,
                                          "src": "10930:32:75",
                                          "typeDescriptions": {
                                            "typeIdentifier": "t_enum$_ComponentState_$22010",
                                            "typeString": "enum IComponent.ComponentState"
                                          }
                                        },
                                        "src": "10918:44:75",
                                        "typeDescriptions": {
                                          "typeIdentifier": "t_bool",
                                          "typeString": "bool"
                                        }
                                      },
                                      "nodeType": "BinaryOperation",
                                      "operator": "||",
                                      "rightExpression": {
                                        "commonType": {
                                          "typeIdentifier": "t_enum$_ComponentState_$22010",
                                          "typeString": "enum IComponent.ComponentState"
                                        },
                                        "id": 6464,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "lValueRequested": false,
                                        "leftExpression": {
                                          "id": 6460,
                                          "name": "newState",
                                          "nodeType": "Identifier",
                                          "overloadedDeclarations": [],
                                          "referencedDeclaration": 6372,
                                          "src": "10982:8:75",
                                          "typeDescriptions": {
                                            "typeIdentifier": "t_enum$_ComponentState_$22010",
                                            "typeString": "enum IComponent.ComponentState"
                                          }
                                        },
                                        "nodeType": "BinaryOperation",
                                        "operator": "==",
                                        "rightExpression": {
                                          "expression": {
                                            "expression": {
                                              "id": 6461,
                                              "name": "IComponent",
                                              "nodeType": "Identifier",
                                              "overloadedDeclarations": [],
                                              "referencedDeclaration": 22099,
                                              "src": "10994:10:75",
                                              "typeDescriptions": {
                                                "typeIdentifier": "t_type$_t_contract$_IComponent_$22099_$",
                                                "typeString": "type(contract IComponent)"
                                              }
                                            },
                                            "id": 6462,
                                            "isConstant": false,
                                            "isLValue": false,
                                            "isPure": false,
                                            "lValueRequested": false,
                                            "memberName": "ComponentState",
                                            "nodeType": "MemberAccess",
                                            "referencedDeclaration": 22010,
                                            "src": "10994:25:75",
                                            "typeDescriptions": {
                                              "typeIdentifier": "t_type$_t_enum$_ComponentState_$22010_$",
                                              "typeString": "type(enum IComponent.ComponentState)"
                                            }
                                          },
                                          "id": 6463,
                                          "isConstant": false,
                                          "isLValue": false,
                                          "isPure": true,
                                          "lValueRequested": false,
                                          "memberName": "Archived",
                                          "nodeType": "MemberAccess",
                                          "referencedDeclaration": 22009,
                                          "src": "10994:34:75",
                                          "typeDescriptions": {
                                            "typeIdentifier": "t_enum$_ComponentState_$22010",
                                            "typeString": "enum IComponent.ComponentState"
                                          }
                                        },
                                        "src": "10982:46:75",
                                        "typeDescriptions": {
                                          "typeIdentifier": "t_bool",
                                          "typeString": "bool"
                                        }
                                      },
                                      "src": "10918:110:75",
                                      "typeDescriptions": {
                                        "typeIdentifier": "t_bool",
                                        "typeString": "bool"
                                      }
                                    },
                                    {
                                      "hexValue": "4552524f523a4343522d3032353a5041555345445f494e56414c49445f5452414e534954494f4e",
                                      "id": 6466,
                                      "isConstant": false,
                                      "isLValue": false,
                                      "isPure": true,
                                      "kind": "string",
                                      "lValueRequested": false,
                                      "nodeType": "Literal",
                                      "src": "11047:41:75",
                                      "typeDescriptions": {
                                        "typeIdentifier": "t_stringliteral_0482b94049f0958858785a7e41524773ca88442982af776b7db627215a0937ca",
                                        "typeString": "literal_string \"ERROR:CCR-025:PAUSED_INVALID_TRANSITION\""
                                      },
                                      "value": "ERROR:CCR-025:PAUSED_INVALID_TRANSITION"
                                    }
                                  ],
                                  "expression": {
                                    "argumentTypes": [
                                      {
                                        "typeIdentifier": "t_bool",
                                        "typeString": "bool"
                                      },
                                      {
                                        "typeIdentifier": "t_stringliteral_0482b94049f0958858785a7e41524773ca88442982af776b7db627215a0937ca",
                                        "typeString": "literal_string \"ERROR:CCR-025:PAUSED_INVALID_TRANSITION\""
                                      }
                                    ],
                                    "id": 6454,
                                    "name": "require",
                                    "nodeType": "Identifier",
                                    "overloadedDeclarations": [
                                      -18,
                                      -18
                                    ],
                                    "referencedDeclaration": -18,
                                    "src": "10910:7:75",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$",
                                      "typeString": "function (bool,string memory) pure"
                                    }
                                  },
                                  "id": 6467,
                                  "isConstant": false,
                                  "isLValue": false,
                                  "isPure": false,
                                  "kind": "functionCall",
                                  "lValueRequested": false,
                                  "names": [],
                                  "nodeType": "FunctionCall",
                                  "src": "10910:179:75",
                                  "tryCall": false,
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_tuple$__$",
                                    "typeString": "tuple()"
                                  }
                                },
                                "id": 6468,
                                "nodeType": "ExpressionStatement",
                                "src": "10910:179:75"
                              }
                            ]
                          }
                        },
                        "id": 6498,
                        "nodeType": "IfStatement",
                        "src": "10584:862:75",
                        "trueBody": {
                          "id": 6448,
                          "nodeType": "Block",
                          "src": "10634:206:75",
                          "statements": [
                            {
                              "expression": {
                                "arguments": [
                                  {
                                    "commonType": {
                                      "typeIdentifier": "t_bool",
                                      "typeString": "bool"
                                    },
                                    "id": 6444,
                                    "isConstant": false,
                                    "isLValue": false,
                                    "isPure": false,
                                    "lValueRequested": false,
                                    "leftExpression": {
                                      "commonType": {
                                        "typeIdentifier": "t_enum$_ComponentState_$22010",
                                        "typeString": "enum IComponent.ComponentState"
                                      },
                                      "id": 6438,
                                      "isConstant": false,
                                      "isLValue": false,
                                      "isPure": false,
                                      "lValueRequested": false,
                                      "leftExpression": {
                                        "id": 6434,
                                        "name": "newState",
                                        "nodeType": "Identifier",
                                        "overloadedDeclarations": [],
                                        "referencedDeclaration": 6372,
                                        "src": "10656:8:75",
                                        "typeDescriptions": {
                                          "typeIdentifier": "t_enum$_ComponentState_$22010",
                                          "typeString": "enum IComponent.ComponentState"
                                        }
                                      },
                                      "nodeType": "BinaryOperation",
                                      "operator": "==",
                                      "rightExpression": {
                                        "expression": {
                                          "expression": {
                                            "id": 6435,
                                            "name": "IComponent",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 22099,
                                            "src": "10668:10:75",
                                            "typeDescriptions": {
                                              "typeIdentifier": "t_type$_t_contract$_IComponent_$22099_$",
                                              "typeString": "type(contract IComponent)"
                                            }
                                          },
                                          "id": 6436,
                                          "isConstant": false,
                                          "isLValue": false,
                                          "isPure": false,
                                          "lValueRequested": false,
                                          "memberName": "ComponentState",
                                          "nodeType": "MemberAccess",
                                          "referencedDeclaration": 22010,
                                          "src": "10668:25:75",
                                          "typeDescriptions": {
                                            "typeIdentifier": "t_type$_t_enum$_ComponentState_$22010_$",
                                            "typeString": "type(enum IComponent.ComponentState)"
                                          }
                                        },
                                        "id": 6437,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": true,
                                        "lValueRequested": false,
                                        "memberName": "Paused",
                                        "nodeType": "MemberAccess",
                                        "referencedDeclaration": 22007,
                                        "src": "10668:32:75",
                                        "typeDescriptions": {
                                          "typeIdentifier": "t_enum$_ComponentState_$22010",
                                          "typeString": "enum IComponent.ComponentState"
                                        }
                                      },
                                      "src": "10656:44:75",
                                      "typeDescriptions": {
                                        "typeIdentifier": "t_bool",
                                        "typeString": "bool"
                                      }
                                    },
                                    "nodeType": "BinaryOperation",
                                    "operator": "||",
                                    "rightExpression": {
                                      "commonType": {
                                        "typeIdentifier": "t_enum$_ComponentState_$22010",
                                        "typeString": "enum IComponent.ComponentState"
                                      },
                                      "id": 6443,
                                      "isConstant": false,
                                      "isLValue": false,
                                      "isPure": false,
                                      "lValueRequested": false,
                                      "leftExpression": {
                                        "id": 6439,
                                        "name": "newState",
                                        "nodeType": "Identifier",
                                        "overloadedDeclarations": [],
                                        "referencedDeclaration": 6372,
                                        "src": "10721:8:75",
                                        "typeDescriptions": {
                                          "typeIdentifier": "t_enum$_ComponentState_$22010",
                                          "typeString": "enum IComponent.ComponentState"
                                        }
                                      },
                                      "nodeType": "BinaryOperation",
                                      "operator": "==",
                                      "rightExpression": {
                                        "expression": {
                                          "expression": {
                                            "id": 6440,
                                            "name": "IComponent",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 22099,
                                            "src": "10733:10:75",
                                            "typeDescriptions": {
                                              "typeIdentifier": "t_type$_t_contract$_IComponent_$22099_$",
                                              "typeString": "type(contract IComponent)"
                                            }
                                          },
                                          "id": 6441,
                                          "isConstant": false,
                                          "isLValue": false,
                                          "isPure": false,
                                          "lValueRequested": false,
                                          "memberName": "ComponentState",
                                          "nodeType": "MemberAccess",
                                          "referencedDeclaration": 22010,
                                          "src": "10733:25:75",
                                          "typeDescriptions": {
                                            "typeIdentifier": "t_type$_t_enum$_ComponentState_$22010_$",
                                            "typeString": "type(enum IComponent.ComponentState)"
                                          }
                                        },
                                        "id": 6442,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": true,
                                        "lValueRequested": false,
                                        "memberName": "Suspended",
                                        "nodeType": "MemberAccess",
                                        "referencedDeclaration": 22008,
                                        "src": "10733:35:75",
                                        "typeDescriptions": {
                                          "typeIdentifier": "t_enum$_ComponentState_$22010",
                                          "typeString": "enum IComponent.ComponentState"
                                        }
                                      },
                                      "src": "10721:47:75",
                                      "typeDescriptions": {
                                        "typeIdentifier": "t_bool",
                                        "typeString": "bool"
                                      }
                                    },
                                    "src": "10656:112:75",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_bool",
                                      "typeString": "bool"
                                    }
                                  },
                                  {
                                    "hexValue": "4552524f523a4343522d3032343a4143544956455f494e56414c49445f5452414e534954494f4e",
                                    "id": 6445,
                                    "isConstant": false,
                                    "isLValue": false,
                                    "isPure": true,
                                    "kind": "string",
                                    "lValueRequested": false,
                                    "nodeType": "Literal",
                                    "src": "10787:41:75",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_stringliteral_aedba318da9c17b182ebb85736c0568cffa933b22def476bb1db2682f6fecda2",
                                      "typeString": "literal_string \"ERROR:CCR-024:ACTIVE_INVALID_TRANSITION\""
                                    },
                                    "value": "ERROR:CCR-024:ACTIVE_INVALID_TRANSITION"
                                  }
                                ],
                                "expression": {
                                  "argumentTypes": [
                                    {
                                      "typeIdentifier": "t_bool",
                                      "typeString": "bool"
                                    },
                                    {
                                      "typeIdentifier": "t_stringliteral_aedba318da9c17b182ebb85736c0568cffa933b22def476bb1db2682f6fecda2",
                                      "typeString": "literal_string \"ERROR:CCR-024:ACTIVE_INVALID_TRANSITION\""
                                    }
                                  ],
                                  "id": 6433,
                                  "name": "require",
                                  "nodeType": "Identifier",
                                  "overloadedDeclarations": [
                                    -18,
                                    -18
                                  ],
                                  "referencedDeclaration": -18,
                                  "src": "10648:7:75",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$",
                                    "typeString": "function (bool,string memory) pure"
                                  }
                                },
                                "id": 6446,
                                "isConstant": false,
                                "isLValue": false,
                                "isPure": false,
                                "kind": "functionCall",
                                "lValueRequested": false,
                                "names": [],
                                "nodeType": "FunctionCall",
                                "src": "10648:181:75",
                                "tryCall": false,
                                "typeDescriptions": {
                                  "typeIdentifier": "t_tuple$__$",
                                  "typeString": "tuple()"
                                }
                              },
                              "id": 6447,
                              "nodeType": "ExpressionStatement",
                              "src": "10648:181:75"
                            }
                          ]
                        }
                      },
                      "id": 6499,
                      "nodeType": "IfStatement",
                      "src": "10454:992:75",
                      "trueBody": {
                        "id": 6427,
                        "nodeType": "Block",
                        "src": "10506:72:75",
                        "statements": [
                          {
                            "expression": {
                              "arguments": [
                                {
                                  "hexValue": "4552524f523a4343522d3032333a4445434c494e45445f49535f46494e414c5f5354415445",
                                  "id": 6424,
                                  "isConstant": false,
                                  "isLValue": false,
                                  "isPure": true,
                                  "kind": "string",
                                  "lValueRequested": false,
                                  "nodeType": "Literal",
                                  "src": "10527:39:75",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_stringliteral_42aa29d463e00aadde35312cfb43fe30bee16376ea01580e27b2dacd6cef5592",
                                    "typeString": "literal_string \"ERROR:CCR-023:DECLINED_IS_FINAL_STATE\""
                                  },
                                  "value": "ERROR:CCR-023:DECLINED_IS_FINAL_STATE"
                                }
                              ],
                              "expression": {
                                "argumentTypes": [
                                  {
                                    "typeIdentifier": "t_stringliteral_42aa29d463e00aadde35312cfb43fe30bee16376ea01580e27b2dacd6cef5592",
                                    "typeString": "literal_string \"ERROR:CCR-023:DECLINED_IS_FINAL_STATE\""
                                  }
                                ],
                                "id": 6423,
                                "name": "revert",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [
                                  -19,
                                  -19
                                ],
                                "referencedDeclaration": -19,
                                "src": "10520:6:75",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_function_revert_pure$_t_string_memory_ptr_$returns$__$",
                                  "typeString": "function (string memory) pure"
                                }
                              },
                              "id": 6425,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": false,
                              "kind": "functionCall",
                              "lValueRequested": false,
                              "names": [],
                              "nodeType": "FunctionCall",
                              "src": "10520:47:75",
                              "tryCall": false,
                              "typeDescriptions": {
                                "typeIdentifier": "t_tuple$__$",
                                "typeString": "tuple()"
                              }
                            },
                            "id": 6426,
                            "nodeType": "ExpressionStatement",
                            "src": "10520:47:75"
                          }
                        ]
                      }
                    },
                    "id": 6500,
                    "nodeType": "IfStatement",
                    "src": "10190:1256:75",
                    "trueBody": {
                      "id": 6417,
                      "nodeType": "Block",
                      "src": "10242:206:75",
                      "statements": [
                        {
                          "expression": {
                            "arguments": [
                              {
                                "commonType": {
                                  "typeIdentifier": "t_bool",
                                  "typeString": "bool"
                                },
                                "id": 6413,
                                "isConstant": false,
                                "isLValue": false,
                                "isPure": false,
                                "lValueRequested": false,
                                "leftExpression": {
                                  "commonType": {
                                    "typeIdentifier": "t_enum$_ComponentState_$22010",
                                    "typeString": "enum IComponent.ComponentState"
                                  },
                                  "id": 6407,
                                  "isConstant": false,
                                  "isLValue": false,
                                  "isPure": false,
                                  "lValueRequested": false,
                                  "leftExpression": {
                                    "id": 6403,
                                    "name": "newState",
                                    "nodeType": "Identifier",
                                    "overloadedDeclarations": [],
                                    "referencedDeclaration": 6372,
                                    "src": "10264:8:75",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_enum$_ComponentState_$22010",
                                      "typeString": "enum IComponent.ComponentState"
                                    }
                                  },
                                  "nodeType": "BinaryOperation",
                                  "operator": "==",
                                  "rightExpression": {
                                    "expression": {
                                      "expression": {
                                        "id": 6404,
                                        "name": "IComponent",
                                        "nodeType": "Identifier",
                                        "overloadedDeclarations": [],
                                        "referencedDeclaration": 22099,
                                        "src": "10276:10:75",
                                        "typeDescriptions": {
                                          "typeIdentifier": "t_type$_t_contract$_IComponent_$22099_$",
                                          "typeString": "type(contract IComponent)"
                                        }
                                      },
                                      "id": 6405,
                                      "isConstant": false,
                                      "isLValue": false,
                                      "isPure": false,
                                      "lValueRequested": false,
                                      "memberName": "ComponentState",
                                      "nodeType": "MemberAccess",
                                      "referencedDeclaration": 22010,
                                      "src": "10276:25:75",
                                      "typeDescriptions": {
                                        "typeIdentifier": "t_type$_t_enum$_ComponentState_$22010_$",
                                        "typeString": "type(enum IComponent.ComponentState)"
                                      }
                                    },
                                    "id": 6406,
                                    "isConstant": false,
                                    "isLValue": false,
                                    "isPure": true,
                                    "lValueRequested": false,
                                    "memberName": "Active",
                                    "nodeType": "MemberAccess",
                                    "referencedDeclaration": 22006,
                                    "src": "10276:32:75",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_enum$_ComponentState_$22010",
                                      "typeString": "enum IComponent.ComponentState"
                                    }
                                  },
                                  "src": "10264:44:75",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_bool",
                                    "typeString": "bool"
                                  }
                                },
                                "nodeType": "BinaryOperation",
                                "operator": "||",
                                "rightExpression": {
                                  "commonType": {
                                    "typeIdentifier": "t_enum$_ComponentState_$22010",
                                    "typeString": "enum IComponent.ComponentState"
                                  },
                                  "id": 6412,
                                  "isConstant": false,
                                  "isLValue": false,
                                  "isPure": false,
                                  "lValueRequested": false,
                                  "leftExpression": {
                                    "id": 6408,
                                    "name": "newState",
                                    "nodeType": "Identifier",
                                    "overloadedDeclarations": [],
                                    "referencedDeclaration": 6372,
                                    "src": "10329:8:75",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_enum$_ComponentState_$22010",
                                      "typeString": "enum IComponent.ComponentState"
                                    }
                                  },
                                  "nodeType": "BinaryOperation",
                                  "operator": "==",
                                  "rightExpression": {
                                    "expression": {
                                      "expression": {
                                        "id": 6409,
                                        "name": "IComponent",
                                        "nodeType": "Identifier",
                                        "overloadedDeclarations": [],
                                        "referencedDeclaration": 22099,
                                        "src": "10341:10:75",
                                        "typeDescriptions": {
                                          "typeIdentifier": "t_type$_t_contract$_IComponent_$22099_$",
                                          "typeString": "type(contract IComponent)"
                                        }
                                      },
                                      "id": 6410,
                                      "isConstant": false,
                                      "isLValue": false,
                                      "isPure": false,
                                      "lValueRequested": false,
                                      "memberName": "ComponentState",
                                      "nodeType": "MemberAccess",
                                      "referencedDeclaration": 22010,
                                      "src": "10341:25:75",
                                      "typeDescriptions": {
                                        "typeIdentifier": "t_type$_t_enum$_ComponentState_$22010_$",
                                        "typeString": "type(enum IComponent.ComponentState)"
                                      }
                                    },
                                    "id": 6411,
                                    "isConstant": false,
                                    "isLValue": false,
                                    "isPure": true,
                                    "lValueRequested": false,
                                    "memberName": "Declined",
                                    "nodeType": "MemberAccess",
                                    "referencedDeclaration": 22005,
                                    "src": "10341:34:75",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_enum$_ComponentState_$22010",
                                      "typeString": "enum IComponent.ComponentState"
                                    }
                                  },
                                  "src": "10329:46:75",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_bool",
                                    "typeString": "bool"
                                  }
                                },
                                "src": "10264:111:75",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_bool",
                                  "typeString": "bool"
                                }
                              },
                              {
                                "hexValue": "4552524f523a4343522d32323a50524f504f5345445f494e56414c49445f5452414e534954494f4e",
                                "id": 6414,
                                "isConstant": false,
                                "isLValue": false,
                                "isPure": true,
                                "kind": "string",
                                "lValueRequested": false,
                                "nodeType": "Literal",
                                "src": "10394:42:75",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_stringliteral_3b9aa6c2dd4c618aff287fe40145b03866d1f0f394ef1bd7eabcf15523e1a082",
                                  "typeString": "literal_string \"ERROR:CCR-22:PROPOSED_INVALID_TRANSITION\""
                                },
                                "value": "ERROR:CCR-22:PROPOSED_INVALID_TRANSITION"
                              }
                            ],
                            "expression": {
                              "argumentTypes": [
                                {
                                  "typeIdentifier": "t_bool",
                                  "typeString": "bool"
                                },
                                {
                                  "typeIdentifier": "t_stringliteral_3b9aa6c2dd4c618aff287fe40145b03866d1f0f394ef1bd7eabcf15523e1a082",
                                  "typeString": "literal_string \"ERROR:CCR-22:PROPOSED_INVALID_TRANSITION\""
                                }
                              ],
                              "id": 6402,
                              "name": "require",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [
                                -18,
                                -18
                              ],
                              "referencedDeclaration": -18,
                              "src": "10256:7:75",
                              "typeDescriptions": {
                                "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$",
                                "typeString": "function (bool,string memory) pure"
                              }
                            },
                            "id": 6415,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": false,
                            "kind": "functionCall",
                            "lValueRequested": false,
                            "names": [],
                            "nodeType": "FunctionCall",
                            "src": "10256:181:75",
                            "tryCall": false,
                            "typeDescriptions": {
                              "typeIdentifier": "t_tuple$__$",
                              "typeString": "tuple()"
                            }
                          },
                          "id": 6416,
                          "nodeType": "ExpressionStatement",
                          "src": "10256:181:75"
                        }
                      ]
                    }
                  },
                  "id": 6501,
                  "nodeType": "IfStatement",
                  "src": "9992:1454:75",
                  "trueBody": {
                    "id": 6396,
                    "nodeType": "Block",
                    "src": "10043:141:75",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "commonType": {
                                "typeIdentifier": "t_enum$_ComponentState_$22010",
                                "typeString": "enum IComponent.ComponentState"
                              },
                              "id": 6392,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": false,
                              "lValueRequested": false,
                              "leftExpression": {
                                "id": 6388,
                                "name": "newState",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 6372,
                                "src": "10065:8:75",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_enum$_ComponentState_$22010",
                                  "typeString": "enum IComponent.ComponentState"
                                }
                              },
                              "nodeType": "BinaryOperation",
                              "operator": "==",
                              "rightExpression": {
                                "expression": {
                                  "expression": {
                                    "id": 6389,
                                    "name": "IComponent",
                                    "nodeType": "Identifier",
                                    "overloadedDeclarations": [],
                                    "referencedDeclaration": 22099,
                                    "src": "10077:10:75",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_type$_t_contract$_IComponent_$22099_$",
                                      "typeString": "type(contract IComponent)"
                                    }
                                  },
                                  "id": 6390,
                                  "isConstant": false,
                                  "isLValue": false,
                                  "isPure": false,
                                  "lValueRequested": false,
                                  "memberName": "ComponentState",
                                  "nodeType": "MemberAccess",
                                  "referencedDeclaration": 22010,
                                  "src": "10077:25:75",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_type$_t_enum$_ComponentState_$22010_$",
                                    "typeString": "type(enum IComponent.ComponentState)"
                                  }
                                },
                                "id": 6391,
                                "isConstant": false,
                                "isLValue": false,
                                "isPure": true,
                                "lValueRequested": false,
                                "memberName": "Proposed",
                                "nodeType": "MemberAccess",
                                "referencedDeclaration": 22004,
                                "src": "10077:34:75",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_enum$_ComponentState_$22010",
                                  "typeString": "enum IComponent.ComponentState"
                                }
                              },
                              "src": "10065:46:75",
                              "typeDescriptions": {
                                "typeIdentifier": "t_bool",
                                "typeString": "bool"
                              }
                            },
                            {
                              "hexValue": "4552524f523a4343522d3032313a435245415445445f494e56414c49445f5452414e534954494f4e",
                              "id": 6393,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": true,
                              "kind": "string",
                              "lValueRequested": false,
                              "nodeType": "Literal",
                              "src": "10130:42:75",
                              "typeDescriptions": {
                                "typeIdentifier": "t_stringliteral_1f46e308fac0cff196aecf5e84c50b4060e83c7555cae1916f001746068e894c",
                                "typeString": "literal_string \"ERROR:CCR-021:CREATED_INVALID_TRANSITION\""
                              },
                              "value": "ERROR:CCR-021:CREATED_INVALID_TRANSITION"
                            }
                          ],
                          "expression": {
                            "argumentTypes": [
                              {
                                "typeIdentifier": "t_bool",
                                "typeString": "bool"
                              },
                              {
                                "typeIdentifier": "t_stringliteral_1f46e308fac0cff196aecf5e84c50b4060e83c7555cae1916f001746068e894c",
                                "typeString": "literal_string \"ERROR:CCR-021:CREATED_INVALID_TRANSITION\""
                              }
                            ],
                            "id": 6387,
                            "name": "require",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [
                              -18,
                              -18
                            ],
                            "referencedDeclaration": -18,
                            "src": "10057:7:75",
                            "typeDescriptions": {
                              "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$",
                              "typeString": "function (bool,string memory) pure"
                            }
                          },
                          "id": 6394,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "kind": "functionCall",
                          "lValueRequested": false,
                          "names": [],
                          "nodeType": "FunctionCall",
                          "src": "10057:116:75",
                          "tryCall": false,
                          "typeDescriptions": {
                            "typeIdentifier": "t_tuple$__$",
                            "typeString": "tuple()"
                          }
                        },
                        "id": 6395,
                        "nodeType": "ExpressionStatement",
                        "src": "10057:116:75"
                      }
                    ]
                  }
                }
              ]
            },
            "id": 6503,
            "implemented": true,
            "kind": "function",
            "modifiers": [],
            "name": "_checkStateTransition",
            "nameLocation": "9716:21:75",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 6373,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 6369,
                  "mutability": "mutable",
                  "name": "oldState",
                  "nameLocation": "9773:8:75",
                  "nodeType": "VariableDeclaration",
                  "scope": 6503,
                  "src": "9747:34:75",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_enum$_ComponentState_$22010",
                    "typeString": "enum IComponent.ComponentState"
                  },
                  "typeName": {
                    "id": 6368,
                    "nodeType": "UserDefinedTypeName",
                    "pathNode": {
                      "id": 6367,
                      "name": "IComponent.ComponentState",
                      "nodeType": "IdentifierPath",
                      "referencedDeclaration": 22010,
                      "src": "9747:25:75"
                    },
                    "referencedDeclaration": 22010,
                    "src": "9747:25:75",
                    "typeDescriptions": {
                      "typeIdentifier": "t_enum$_ComponentState_$22010",
                      "typeString": "enum IComponent.ComponentState"
                    }
                  },
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 6372,
                  "mutability": "mutable",
                  "name": "newState",
                  "nameLocation": "9818:8:75",
                  "nodeType": "VariableDeclaration",
                  "scope": 6503,
                  "src": "9792:34:75",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_enum$_ComponentState_$22010",
                    "typeString": "enum IComponent.ComponentState"
                  },
                  "typeName": {
                    "id": 6371,
                    "nodeType": "UserDefinedTypeName",
                    "pathNode": {
                      "id": 6370,
                      "name": "IComponent.ComponentState",
                      "nodeType": "IdentifierPath",
                      "referencedDeclaration": 22010,
                      "src": "9792:25:75"
                    },
                    "referencedDeclaration": 22010,
                    "src": "9792:25:75",
                    "typeDescriptions": {
                      "typeIdentifier": "t_enum$_ComponentState_$22010",
                      "typeString": "enum IComponent.ComponentState"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "9737:95:75"
            },
            "returnParameters": {
              "id": 6374,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "9870:0:75"
            },
            "scope": 6504,
            "src": "9707:1745:75",
            "stateMutability": "pure",
            "virtual": false,
            "visibility": "internal"
          }
        ],
        "scope": 6505,
        "src": "516:10938:75"
      }
    ],
    "src": "39:11416:75"
  },
  "bytecode": "608060405234801561001057600080fd5b5061001961001e565b6100de565b600054610100900460ff161561008a5760405162461bcd60e51b815260206004820152602760248201527f496e697469616c697a61626c653a20636f6e747261637420697320696e697469604482015266616c697a696e6760c81b606482015260840160405180910390fd5b60005460ff90811610156100dc576000805460ff191660ff9081179091556040519081527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b565b6121f980620000ee6000396000f3fe608060405234801561001057600080fd5b50600436106101a95760003560e01c80636bc607b3116100f9578063ba80b8ed11610097578063dd51c86a11610071578063dd51c86a146103a9578063e61ae297146103c9578063fabc1cbc146103dc578063ff3f3883146103ef576101a9565b8063ba80b8ed1461037b578063c4d66de81461038e578063c71e261f146103a1576101a9565b8063a054381f116100d3578063a054381f14610345578063a5c0f5a11461034d578063b759f95414610360578063ba62fbe414610373576101a9565b80636bc607b31461030c5780639f77a6051461031f578063a0355f4e14610332576101a9565b80633920200c116101665780634f27da18116101405780634f27da18146102735780634f558e791461029e5780635af89a47146102c95780635e966e45146102dc576101a9565b80633920200c1461023a578063414000b51461024d5780634b86584614610260576101a9565b806301267951146101ae57806309f63ed9146101c35780630f5da3a6146101eb578063136439dd146101fe5780632857373a146102115780632b1c7f7314610227575b600080fd5b6101c16101bc366004611f6e565b610402565b005b6101d66101d136600461201d565b610739565b60405190151581526020015b60405180910390f35b6101c16101f936600461201d565b61074e565b6101c161020c36600461201d565b610827565b6102196108fe565b6040519081526020016101e2565b610219610235366004611f6e565b61090f565b6101d661024836600461201d565b6109da565b6101c161025b36600461201d565b6109e7565b6101c161026e36600461201d565b610ac0565b61028661028136600461201d565b610b99565b6040516001600160a01b0390911681526020016101e2565b6101d66102ac36600461201d565b6000908152600260205260409020546001600160a01b0316151590565b6102196102d7366004611fe5565b610c09565b6102ff6102ea36600461201d565b60009081526005602052604090205460ff1690565b6040516101e29190612088565b6101c161031a36600461201d565b610e00565b61021961032d36600461201d565b610e51565b6101c161034036600461201d565b610e5e565b610219610f37565b61021961035b36600461201d565b610f43565b6101c161036e36600461201d565b610f50565b600c54610219565b6101d661038936600461201d565b6110d5565b6101c161039c366004611f6e565b6110e2565b610219611260565b6103bc6103b736600461201d565b61126c565b6040516101e29190612096565b6102866103d736600461201d565b611309565b6101c16103ea36600461201d565b61137c565b6102196103fd36600461201d565b611453565b61042374436f6d706f6e656e744f776e65725365727669636560581b611460565b6001600160a01b0316336001600160a01b03161461045c5760405162461bcd60e51b8152600401610453906120ef565b60405180910390fd5b6001600160a01b038116600090815260046020526040902054156104d15760405162461bcd60e51b815260206004820152602660248201527f4552524f523a4343522d3030333a434f4d504f4e454e545f414c52454144595f60448201526545584953545360d01b6064820152608401610453565b60036000826001600160a01b03166317d7de7c6040518163ffffffff1660e01b815260040160206040518083038186803b15801561050e57600080fd5b505afa158015610522573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105469190611fcd565b8152602001908152602001600020546000146105b85760405162461bcd60e51b815260206004820152602b60248201527f4552524f523a4343522d3030343a434f4d504f4e454e545f4e414d455f414c5260448201526a454144595f45584953545360a81b6064820152608401610453565b60006105c382611548565b90507fd9b3d18a6293c46c667fe6a98468c457078489f2e16e356bb4c77bb2e22d2016826001600160a01b03166317d7de7c6040518163ffffffff1660e01b815260040160206040518083038186803b15801561061f57600080fd5b505afa158015610633573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106579190611fcd565b836001600160a01b03166315dae03e6040518163ffffffff1660e01b815260040160206040518083038186803b15801561069057600080fd5b505afa1580156106a4573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106c89190612001565b84846040516106da9493929190612059565b60405180910390a1816001600160a01b031663638ce0ba6040518163ffffffff1660e01b8152600401600060405180830381600087803b15801561071d57600080fd5b505af1158015610731573d6000803e3d6000fd5b505050505050565b6000610746600883611830565b90505b919050565b61077176496e7374616e63654f70657261746f725365727669636560481b611460565b6001600160a01b0316336001600160a01b0316146107a15760405162461bcd60e51b8152600401610453906120a4565b6107ac81600661184d565b6040518181527f9e6d5f1811033619318d2fbe9ee7ec46c830175b39f7885248b51e0decb5837a9060200160405180910390a160006107ea82610b99565b9050806001600160a01b031663be169e7e6040518163ffffffff1660e01b8152600401600060405180830381600087803b15801561071d57600080fd5b61084874436f6d706f6e656e744f776e65725365727669636560581b611460565b6001600160a01b0316336001600160a01b0316146108785760405162461bcd60e51b8152600401610453906120ef565b61088381600461184d565b6040518181527f45dbc7e529df39b8d70de83cc9e1d38c088e6ba21ab836e976f7310f1cbb8afd9060200160405180910390a160006108c182610b99565b9050806001600160a01b031663d73cd9926040518163ffffffff1660e01b8152600401600060405180830381600087803b15801561071d57600080fd5b600061090a60086118e7565b905090565b60006001600160a01b0382166109735760405162461bcd60e51b8152602060048201526024808201527f4552524f523a4343522d3030363a434f4d504f4e454e545f414444524553535f6044820152635a45524f60e01b6064820152608401610453565b506001600160a01b038116600090815260046020526040902054806107495760405162461bcd60e51b815260206004820152601f60248201527f4552524f523a4343522d3030373a434f4d504f4e454e545f554e4b4e4f574e006044820152606401610453565b6000610746600683611830565b610a0a76496e7374616e63654f70657261746f725365727669636560481b611460565b6001600160a01b0316336001600160a01b031614610a3a5760405162461bcd60e51b8152600401610453906120a4565b610a4581600361184d565b6040518181527fd24597f0a62b78258ebd8c2fa52051cf673a5000d14d2fb619c91b1ed95c538a9060200160405180910390a16000610a8382610b99565b9050806001600160a01b031663a18f5ae26040518163ffffffff1660e01b8152600401600060405180830381600087803b15801561071d57600080fd5b610ae376496e7374616e63654f70657261746f725365727669636560481b611460565b6001600160a01b0316336001600160a01b031614610b135760405162461bcd60e51b8152600401610453906120a4565b610b1e81600561184d565b6040518181527f55d2d8495549e354e6ee012c5aa183eb0e08ee2f256349afb0f7f74d1940f9b39060200160405180910390a16000610b5c82610b99565b9050806001600160a01b031663b3fca9bd6040518163ffffffff1660e01b8152600401600060405180830381600087803b15801561071d57600080fd5b6000818152600260205260409020546001600160a01b0316806107495760405162461bcd60e51b815260206004820152602260248201527f4552524f523a4343522d3030353a494e56414c49445f434f4d504f4e454e545f604482015261125160f21b6064820152608401610453565b60006001826002811115610c2d57634e487b7160e01b600052602160045260246000fd5b1415610cc057600160009054906101000a90046001600160a01b03166001600160a01b031663775a40486040518163ffffffff1660e01b815260040160206040518083038186803b158015610c8157600080fd5b505afa158015610c95573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610cb99190611fcd565b9050610749565b6000826002811115610ce257634e487b7160e01b600052602160045260246000fd5b1415610d3657600160009054906101000a90046001600160a01b03166001600160a01b031663d49d21c06040518163ffffffff1660e01b815260040160206040518083038186803b158015610c8157600080fd5b6002826002811115610d5857634e487b7160e01b600052602160045260246000fd5b1415610dac57600160009054906101000a90046001600160a01b03166001600160a01b0316633ffdd2f36040518163ffffffff1660e01b815260040160206040518083038186803b158015610c8157600080fd5b60405162461bcd60e51b8152602060048201526024808201527f4552524f523a4343522d3031303a434f4d504f4e454e545f545950455f554e4b6044820152632727aba760e11b6064820152608401610453565b610e2174436f6d706f6e656e744f776e65725365727669636560581b611460565b6001600160a01b0316336001600160a01b0316146107a15760405162461bcd60e51b8152600401610453906120ef565b60006107466006836118f1565b610e8176496e7374616e63654f70657261746f725365727669636560481b611460565b6001600160a01b0316336001600160a01b031614610eb15760405162461bcd60e51b8152600401610453906120a4565b610ebc81600261184d565b6040518181527fd541b5f22e9e402fb32220d566405510c49372d27b4f47f1d0da1a153ea2007c9060200160405180910390a16000610efa82610b99565b9050806001600160a01b031663bd1fe5d06040518163ffffffff1660e01b8152600401600060405180830381600087803b15801561071d57600080fd5b600061090a600a6118e7565b60006107466008836118f1565b610f7376496e7374616e63654f70657261746f725365727669636560481b611460565b6001600160a01b0316336001600160a01b031614610fa35760405162461bcd60e51b8152600401610453906120a4565b610fae81600361184d565b6000610fb982610b99565b9050610fc4826109da565b1561106757806001600160a01b031663637d08f46040518163ffffffff1660e01b815260040160206040518083038186803b15801561100257600080fd5b505afa158015611016573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061103a9190611f91565b6000838152600d6020526040902080546001600160a01b0319166001600160a01b03929092169190911790555b6040518281527ff8d33755281aa5d41b12a70ae3947ee164ef541d786400d733b0b89df719859e9060200160405180910390a1806001600160a01b0316631b867c636040518163ffffffff1660e01b8152600401600060405180830381600087803b15801561071d57600080fd5b6000610746600a83611830565b600054610100900460ff16158080156111025750600054600160ff909116105b8061111c5750303b15801561111c575060005460ff166001145b61117f5760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b6064820152608401610453565b6000805460ff1916600117905580156111a2576000805461ff0019166101001790555b6000805462010000600160b01b031916620100006001600160a01b038516021790556111cc600090565b6541636365737360d01b1461120e576111ed6541636365737360d01b611460565b600180546001600160a01b0319166001600160a01b03929092169190911790555b6112166118fd565b801561125c576000805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b5050565b600061090a60066118e7565b6000611279600683611830565b1561128657506001610749565b611291600883611830565b1561129e57506000610749565b6112a9600a83611830565b156112b657506002610749565b60405162461bcd60e51b815260206004820152602260248201527f4552524f523a4343522d3030383a494e56414c49445f434f4d504f4e454e545f604482015261125160f21b6064820152608401610453565b6000611314826109da565b6113605760405162461bcd60e51b815260206004820181905260248201527f4552524f523a4343522d3031313a554e4b4e4f574e5f50524f445543545f49446044820152606401610453565b506000908152600d60205260409020546001600160a01b031690565b61139d74436f6d706f6e656e744f776e65725365727669636560581b611460565b6001600160a01b0316336001600160a01b0316146113cd5760405162461bcd60e51b8152600401610453906120ef565b6113d881600361184d565b6040518181527f8e78ca4cc29c505d9901fd1582ba8584083396ce204151eddd3e008749a24fe09060200160405180910390a1600061141682610b99565b9050806001600160a01b03166359dacc6a6040518163ffffffff1660e01b8152600401600060405180830381600087803b15801561071d57600080fd5b6000610746600a836118f1565b60008054604051631c2d8fb360e31b815260048101849052620100009091046001600160a01b03169063e16c7d989060240160206040518083038186803b1580156114aa57600080fd5b505afa1580156114be573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906114e29190611f91565b90506001600160a01b0381166107495760405162461bcd60e51b815260206004820152602560248201527f4552524f523a4352432d3030343a434f4e54524143545f4e4f545f5245474953604482015264151154915160da1b6064820152608401610453565b600c80546000918261155983612161565b9190505550600c54905061156e81600161184d565b60405163d0e0ba9560e01b8152600481018290526001600160a01b0383169063d0e0ba9590602401600060405180830381600087803b1580156115b057600080fd5b505af11580156115c4573d6000803e3d6000fd5b505050600082815260026020908152604080832080546001600160a01b0319166001600160a01b03881690811790915581516305f5f79f60e21b815291518695506003949391926317d7de7c926004808301939192829003018186803b15801561162d57600080fd5b505afa158015611641573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906116659190611fcd565b8152602001908152602001600020819055508060046000846001600160a01b03166001600160a01b0316815260200190815260200160002081905550816001600160a01b031663e0815f0d6040518163ffffffff1660e01b815260040160206040518083038186803b1580156116da57600080fd5b505afa1580156116ee573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906117129190611fad565b156117285761172260068261196a565b50610749565b816001600160a01b0316639a82f8906040518163ffffffff1660e01b815260040160206040518083038186803b15801561176157600080fd5b505afa158015611775573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906117999190611fad565b156117a95761172260088261196a565b816001600160a01b031663258d560c6040518163ffffffff1660e01b815260040160206040518083038186803b1580156117e257600080fd5b505afa1580156117f6573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061181a9190611fad565b156107495761182a600a8261196a565b50919050565b600081815260018301602052604081205415155b90505b92915050565b60008281526005602052604090205460ff166118698183611976565b6000838152600560205260409020805483919060ff191660018360068111156118a257634e487b7160e01b600052602160045260246000fd5b02179055507fd2248d3e400f6333d5de6d43446115557cb942e75002aa7ad26f9cac9b105b1a8382846040516118da93929190612138565b60405180910390a1505050565b6000610746825490565b60006118448383611ee7565b600054610100900460ff166119685760405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201526a6e697469616c697a696e6760a81b6064820152608401610453565b565b60006118448383611f1f565b81600681111561199657634e487b7160e01b600052602160045260246000fd5b8160068111156119b657634e487b7160e01b600052602160045260246000fd5b1415611a1c5760405162461bcd60e51b815260206004820152602f60248201527f4552524f523a4343522d3032303a534f555243455f414e445f5441524745545f60448201526e14d510551157d2511153951250d053608a1b6064820152608401610453565b6000826006811115611a3e57634e487b7160e01b600052602160045260246000fd5b1415611ac9576001816006811115611a6657634e487b7160e01b600052602160045260246000fd5b14611ac45760405162461bcd60e51b815260206004820152602860248201527f4552524f523a4343522d3032313a435245415445445f494e56414c49445f545260448201526720a729a4aa24a7a760c11b6064820152608401610453565b61125c565b6001826006811115611aeb57634e487b7160e01b600052602160045260246000fd5b1415611b9b576003816006811115611b1357634e487b7160e01b600052602160045260246000fd5b1480611b3e57506002816006811115611b3c57634e487b7160e01b600052602160045260246000fd5b145b611ac45760405162461bcd60e51b815260206004820152602860248201527f4552524f523a4343522d32323a50524f504f5345445f494e56414c49445f545260448201526720a729a4aa24a7a760c11b6064820152608401610453565b6002826006811115611bbd57634e487b7160e01b600052602160045260246000fd5b1415611c195760405162461bcd60e51b815260206004820152602560248201527f4552524f523a4343522d3032333a4445434c494e45445f49535f46494e414c5f604482015264535441544560d81b6064820152608401610453565b6003826006811115611c3b57634e487b7160e01b600052602160045260246000fd5b1415611cea576004816006811115611c6357634e487b7160e01b600052602160045260246000fd5b1480611c8e57506005816006811115611c8c57634e487b7160e01b600052602160045260246000fd5b145b611ac45760405162461bcd60e51b815260206004820152602760248201527f4552524f523a4343522d3032343a4143544956455f494e56414c49445f5452416044820152662729a4aa24a7a760c91b6064820152608401610453565b6004826006811115611d0c57634e487b7160e01b600052602160045260246000fd5b1415611dbb576003816006811115611d3457634e487b7160e01b600052602160045260246000fd5b1480611d5f57506006816006811115611d5d57634e487b7160e01b600052602160045260246000fd5b145b611ac45760405162461bcd60e51b815260206004820152602760248201527f4552524f523a4343522d3032353a5041555345445f494e56414c49445f5452416044820152662729a4aa24a7a760c91b6064820152608401610453565b6005826006811115611ddd57634e487b7160e01b600052602160045260246000fd5b1415611e8f576003816006811115611e0557634e487b7160e01b600052602160045260246000fd5b1480611e3057506006816006811115611e2e57634e487b7160e01b600052602160045260246000fd5b145b611ac45760405162461bcd60e51b815260206004820152602a60248201527f4552524f523a4343522d3032363a53555350454e4445445f494e56414c49445f6044820152692a2920a729a4aa24a7a760b11b6064820152608401610453565b60405162461bcd60e51b815260206004820152602760248201527f4552524f523a4343522d3032373a494e495449414c5f53544154455f4e4f545f6044820152661210539113115160ca1b6064820152608401610453565b6000826000018281548110611f0c57634e487b7160e01b600052603260045260246000fd5b9060005260206000200154905092915050565b6000818152600183016020526040812054611f6657508154600181810184556000848152602080822090930184905584548482528286019093526040902091909155611847565b506000611847565b600060208284031215611f7f578081fd5b8135611f8a8161219e565b9392505050565b600060208284031215611fa2578081fd5b8151611f8a8161219e565b600060208284031215611fbe578081fd5b81518015158114611f8a578182fd5b600060208284031215611fde578081fd5b5051919050565b600060208284031215611ff6578081fd5b8135611f8a816121b6565b600060208284031215612012578081fd5b8151611f8a816121b6565b60006020828403121561202e578081fd5b5035919050565b6007811061204557612045612188565b9052565b6003811061204557612045612188565b8481526080810161206d6020830186612049565b6001600160a01b039390931660408201526060015292915050565b602081016118478284612035565b602081016118478284612049565b6020808252602b908201527f4552524f523a4343522d3030323a4e4f545f494e5354414e43455f4f5045524160408201526a544f525f5345525649434560a81b606082015260800190565b60208082526029908201527f4552524f523a4343522d3030313a4e4f545f434f4d504f4e454e545f4f574e45604082015268525f5345525649434560b81b606082015260800190565b8381526060810161214c6020830185612035565b6121596040830184612035565b949350505050565b600060001982141561218157634e487b7160e01b81526011600452602481fd5b5060010190565b634e487b7160e01b600052602160045260246000fd5b6001600160a01b03811681146121b357600080fd5b50565b600381106121b357600080fdfea264697066735822122016c37234cc3a3ba7574e86d0a5b5f33d0c802c949c5aeb80b75e829e354567f364736f6c63430008020033",
  "bytecodeSha1": "3d89abf82cc5c93978773b011da0e2c40ddbc763",
  "compiler": {
    "evm_version": "istanbul",
    "optimizer": {
      "enabled": true,
      "runs": 200
    },
    "version": "0.8.2+commit.661d1103"
  },
  "contractName": "ComponentController",
  "coverageMap": {
    "branches": {
      "10": {
        "CoreController._afterInitialize": {
          "128": [
            4888,
            4901,
            true
          ]
        }
      },
      "21": {},
      "22": {},
      "27": {},
      "30": {},
      "32": {},
      "37": {},
      "39": {},
      "44": {},
      "75": {
        "ComponentController._checkStateTransition": {
          "110": [
            9888,
            9908,
            true
          ],
          "111": [
            9996,
            10041,
            false
          ],
          "112": [
            10065,
            10111,
            true
          ],
          "113": [
            10194,
            10240,
            false
          ],
          "114": [
            10264,
            10308,
            true
          ],
          "115": [
            10329,
            10375,
            true
          ],
          "116": [
            10458,
            10504,
            false
          ],
          "117": [
            10588,
            10632,
            false
          ],
          "118": [
            10656,
            10700,
            true
          ],
          "119": [
            10721,
            10768,
            true
          ],
          "120": [
            10850,
            10894,
            false
          ],
          "121": [
            10918,
            10962,
            true
          ],
          "122": [
            10982,
            11028,
            true
          ],
          "123": [
            11110,
            11157,
            false
          ],
          "124": [
            11181,
            11225,
            true
          ],
          "125": [
            11245,
            11291,
            true
          ]
        },
        "ComponentController._persistComponent": {
          "107": [
            2930,
            2951,
            false
          ],
          "108": [
            3008,
            3028,
            false
          ],
          "109": [
            3084,
            3106,
            false
          ]
        },
        "ComponentController.approve": {
          "101": [
            3539,
            3552,
            false
          ]
        },
        "ComponentController.getComponent": {
          "96": [
            6348,
            6380,
            true
          ]
        },
        "ComponentController.getComponentId": {
          "94": [
            6533,
            6563,
            true
          ],
          "95": [
            6677,
            6683,
            true
          ]
        },
        "ComponentController.getComponentType": {
          "102": [
            6845,
            6882,
            false
          ],
          "103": [
            6958,
            6994,
            false
          ],
          "104": [
            7069,
            7107,
            false
          ]
        },
        "ComponentController.getPolicyFlow": {
          "105": [
            9171,
            9191,
            true
          ]
        },
        "ComponentController.getRequiredRole": {
          "97": [
            7934,
            7983,
            false
          ],
          "98": [
            8044,
            8092,
            false
          ],
          "99": [
            8155,
            8205,
            false
          ]
        },
        "ComponentController.propose": {
          "92": [
            1757,
            1803,
            true
          ],
          "93": [
            1864,
            1908,
            true
          ]
        },
        "Context._msgSender": {
          "100": [
            1469,
            1531,
            true
          ],
          "106": [
            1257,
            1317,
            true
          ]
        }
      },
      "88": {
        "CoreController._getContractAddress": {
          "127": [
            1724,
            1753,
            true
          ]
        },
        "CoreController.initialize": {
          "126": [
            1255,
            1277,
            false
          ]
        }
      }
    },
    "statements": {
      "10": {},
      "21": {
        "Address.isContract": {
          "43": [
            1458,
            1488
          ]
        }
      },
      "22": {
        "Context._msgSender": {
          "3": [
            712,
            729
          ]
        }
      },
      "27": {
        "EnumerableSet._add": {
          "88": [
            2234,
            2257
          ],
          "89": [
            2392,
            2432
          ],
          "90": [
            2446,
            2457
          ],
          "91": [
            2488,
            2500
          ]
        },
        "EnumerableSet._at": {
          "87": [
            4897,
            4922
          ]
        },
        "EnumerableSet._contains": {
          "70": [
            4243,
            4274
          ]
        },
        "EnumerableSet._length": {
          "76": [
            4437,
            4462
          ]
        },
        "EnumerableSet.add": {
          "78": [
            10599,
            10638
          ]
        },
        "EnumerableSet.at": {
          "77": [
            11798,
            11836
          ]
        },
        "EnumerableSet.contains": {
          "71": [
            11122,
            11166
          ]
        },
        "EnumerableSet.length": {
          "75": [
            11333,
            11359
          ]
        }
      },
      "30": {},
      "32": {},
      "37": {},
      "39": {},
      "44": {},
      "75": {
        "ComponentController._changeState": {
          "72": [
            9472,
            9513
          ],
          "73": [
            9523,
            9562
          ],
          "74": [
            9632,
            9694
          ]
        },
        "ComponentController._checkStateTransition": {
          "79": [
            9880,
            9973
          ],
          "80": [
            10057,
            10173
          ],
          "81": [
            10256,
            10437
          ],
          "82": [
            10520,
            10567
          ],
          "83": [
            10648,
            10829
          ],
          "84": [
            10910,
            11089
          ],
          "85": [
            11173,
            11355
          ],
          "86": [
            11386,
            11435
          ]
        },
        "ComponentController._persistComponent": {
          "60": [
            2511,
            2528
          ],
          "61": [
            2538,
            2558
          ],
          "62": [
            2603,
            2655
          ],
          "63": [
            2665,
            2684
          ],
          "64": [
            2737,
            2767
          ],
          "65": [
            2777,
            2821
          ],
          "66": [
            2831,
            2877
          ],
          "67": [
            2955,
            2987
          ],
          "68": [
            3032,
            3063
          ],
          "69": [
            3110,
            3143
          ]
        },
        "ComponentController.approve": {
          "38": [
            3425,
            3475
          ],
          "39": [
            3568,
            3641
          ],
          "40": [
            3662,
            3691
          ],
          "41": [
            3764,
            3792
          ]
        },
        "ComponentController.archiveFromInstanceOperator": {
          "9": [
            5970,
            6022
          ],
          "10": [
            6032,
            6061
          ],
          "11": [
            6173,
            6200
          ]
        },
        "ComponentController.components": {
          "2": [
            8387,
            8409
          ]
        },
        "ComponentController.decline": {
          "33": [
            3903,
            3955
          ],
          "34": [
            3965,
            3994
          ],
          "35": [
            4104,
            4131
          ]
        },
        "ComponentController.exists": {
          "0": [
            3273,
            3314
          ]
        },
        "ComponentController.getComponent": {
          "26": [
            6300,
            6330
          ],
          "27": [
            6340,
            6419
          ]
        },
        "ComponentController.getComponentId": {
          "16": [
            6525,
            6604
          ],
          "17": [
            6614,
            6658
          ],
          "18": [
            6669,
            6719
          ]
        },
        "ComponentController.getComponentState": {
          "1": [
            7373,
            7399
          ]
        },
        "ComponentController.getComponentType": {
          "48": [
            6898,
            6937
          ],
          "49": [
            7010,
            7048
          ],
          "50": [
            7123,
            7163
          ],
          "51": [
            7194,
            7238
          ]
        },
        "ComponentController.getOracleId": {
          "37": [
            7495,
            7533
          ]
        },
        "ComponentController.getPolicyFlow": {
          "52": [
            9163,
            9228
          ],
          "53": [
            9238,
            9285
          ]
        },
        "ComponentController.getProductId": {
          "32": [
            7771,
            7810
          ]
        },
        "ComponentController.getRequiredRole": {
          "28": [
            7987,
            8023
          ],
          "29": [
            8096,
            8134
          ],
          "30": [
            8209,
            8247
          ],
          "31": [
            8266,
            8312
          ]
        },
        "ComponentController.getRiskpoolId": {
          "57": [
            7633,
            7673
          ]
        },
        "ComponentController.isOracle": {
          "8": [
            8902,
            8945
          ]
        },
        "ComponentController.isProduct": {
          "19": [
            8790,
            8834
          ]
        },
        "ComponentController.isRiskpool": {
          "42": [
            9015,
            9060
          ]
        },
        "ComponentController.oracles": {
          "15": [
            8578,
            8615
          ]
        },
        "ComponentController.pause": {
          "12": [
            4920,
            4970
          ],
          "13": [
            4980,
            5007
          ],
          "14": [
            5117,
            5142
          ]
        },
        "ComponentController.products": {
          "47": [
            8475,
            8513
          ]
        },
        "ComponentController.propose": {
          "4": [
            1749,
            1846
          ],
          "5": [
            1856,
            1956
          ],
          "6": [
            2113,
            2253
          ],
          "7": [
            2326,
            2354
          ]
        },
        "ComponentController.resume": {
          "20": [
            4587,
            4637
          ],
          "21": [
            4647,
            4675
          ],
          "22": [
            4786,
            4812
          ]
        },
        "ComponentController.riskpools": {
          "36": [
            8682,
            8721
          ]
        },
        "ComponentController.suspend": {
          "23": [
            4243,
            4296
          ],
          "24": [
            4306,
            4336
          ],
          "25": [
            4449,
            4476
          ]
        },
        "ComponentController.unpause": {
          "54": [
            5252,
            5302
          ],
          "55": [
            5312,
            5341
          ],
          "56": [
            5453,
            5480
          ]
        }
      },
      "88": {
        "CoreController._getContractAddress": {
          "58": [
            1640,
            1693
          ],
          "59": [
            1703,
            1816
          ]
        },
        "CoreController.initialize": {
          "44": [
            1210,
            1241
          ],
          "45": [
            1281,
            1329
          ],
          "46": [
            1350,
            1368
          ]
        }
      }
    }
  },
  "dependencies": [
    "OpenZeppelin/openzeppelin-contracts@4.7.3/Address",
    "OpenZeppelin/openzeppelin-contracts@4.7.3/Context",
    "CoreController",
    "OpenZeppelin/openzeppelin-contracts@4.7.3/EnumerableSet",
    "etherisc/gif-interface@3b0002a/IAccess",
    "etherisc/gif-interface@3b0002a/IComponent",
    "etherisc/gif-interface@3b0002a/IComponentEvents",
    "etherisc/gif-interface@3b0002a/IProduct",
    "etherisc/gif-interface@3b0002a/IRegistry",
    "OpenZeppelin/openzeppelin-contracts@4.7.3/Initializable"
  ],
  "deployedBytecode": "608060405234801561001057600080fd5b50600436106101a95760003560e01c80636bc607b3116100f9578063ba80b8ed11610097578063dd51c86a11610071578063dd51c86a146103a9578063e61ae297146103c9578063fabc1cbc146103dc578063ff3f3883146103ef576101a9565b8063ba80b8ed1461037b578063c4d66de81461038e578063c71e261f146103a1576101a9565b8063a054381f116100d3578063a054381f14610345578063a5c0f5a11461034d578063b759f95414610360578063ba62fbe414610373576101a9565b80636bc607b31461030c5780639f77a6051461031f578063a0355f4e14610332576101a9565b80633920200c116101665780634f27da18116101405780634f27da18146102735780634f558e791461029e5780635af89a47146102c95780635e966e45146102dc576101a9565b80633920200c1461023a578063414000b51461024d5780634b86584614610260576101a9565b806301267951146101ae57806309f63ed9146101c35780630f5da3a6146101eb578063136439dd146101fe5780632857373a146102115780632b1c7f7314610227575b600080fd5b6101c16101bc366004611f6e565b610402565b005b6101d66101d136600461201d565b610739565b60405190151581526020015b60405180910390f35b6101c16101f936600461201d565b61074e565b6101c161020c36600461201d565b610827565b6102196108fe565b6040519081526020016101e2565b610219610235366004611f6e565b61090f565b6101d661024836600461201d565b6109da565b6101c161025b36600461201d565b6109e7565b6101c161026e36600461201d565b610ac0565b61028661028136600461201d565b610b99565b6040516001600160a01b0390911681526020016101e2565b6101d66102ac36600461201d565b6000908152600260205260409020546001600160a01b0316151590565b6102196102d7366004611fe5565b610c09565b6102ff6102ea36600461201d565b60009081526005602052604090205460ff1690565b6040516101e29190612088565b6101c161031a36600461201d565b610e00565b61021961032d36600461201d565b610e51565b6101c161034036600461201d565b610e5e565b610219610f37565b61021961035b36600461201d565b610f43565b6101c161036e36600461201d565b610f50565b600c54610219565b6101d661038936600461201d565b6110d5565b6101c161039c366004611f6e565b6110e2565b610219611260565b6103bc6103b736600461201d565b61126c565b6040516101e29190612096565b6102866103d736600461201d565b611309565b6101c16103ea36600461201d565b61137c565b6102196103fd36600461201d565b611453565b61042374436f6d706f6e656e744f776e65725365727669636560581b611460565b6001600160a01b0316336001600160a01b03161461045c5760405162461bcd60e51b8152600401610453906120ef565b60405180910390fd5b6001600160a01b038116600090815260046020526040902054156104d15760405162461bcd60e51b815260206004820152602660248201527f4552524f523a4343522d3030333a434f4d504f4e454e545f414c52454144595f60448201526545584953545360d01b6064820152608401610453565b60036000826001600160a01b03166317d7de7c6040518163ffffffff1660e01b815260040160206040518083038186803b15801561050e57600080fd5b505afa158015610522573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105469190611fcd565b8152602001908152602001600020546000146105b85760405162461bcd60e51b815260206004820152602b60248201527f4552524f523a4343522d3030343a434f4d504f4e454e545f4e414d455f414c5260448201526a454144595f45584953545360a81b6064820152608401610453565b60006105c382611548565b90507fd9b3d18a6293c46c667fe6a98468c457078489f2e16e356bb4c77bb2e22d2016826001600160a01b03166317d7de7c6040518163ffffffff1660e01b815260040160206040518083038186803b15801561061f57600080fd5b505afa158015610633573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106579190611fcd565b836001600160a01b03166315dae03e6040518163ffffffff1660e01b815260040160206040518083038186803b15801561069057600080fd5b505afa1580156106a4573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106c89190612001565b84846040516106da9493929190612059565b60405180910390a1816001600160a01b031663638ce0ba6040518163ffffffff1660e01b8152600401600060405180830381600087803b15801561071d57600080fd5b505af1158015610731573d6000803e3d6000fd5b505050505050565b6000610746600883611830565b90505b919050565b61077176496e7374616e63654f70657261746f725365727669636560481b611460565b6001600160a01b0316336001600160a01b0316146107a15760405162461bcd60e51b8152600401610453906120a4565b6107ac81600661184d565b6040518181527f9e6d5f1811033619318d2fbe9ee7ec46c830175b39f7885248b51e0decb5837a9060200160405180910390a160006107ea82610b99565b9050806001600160a01b031663be169e7e6040518163ffffffff1660e01b8152600401600060405180830381600087803b15801561071d57600080fd5b61084874436f6d706f6e656e744f776e65725365727669636560581b611460565b6001600160a01b0316336001600160a01b0316146108785760405162461bcd60e51b8152600401610453906120ef565b61088381600461184d565b6040518181527f45dbc7e529df39b8d70de83cc9e1d38c088e6ba21ab836e976f7310f1cbb8afd9060200160405180910390a160006108c182610b99565b9050806001600160a01b031663d73cd9926040518163ffffffff1660e01b8152600401600060405180830381600087803b15801561071d57600080fd5b600061090a60086118e7565b905090565b60006001600160a01b0382166109735760405162461bcd60e51b8152602060048201526024808201527f4552524f523a4343522d3030363a434f4d504f4e454e545f414444524553535f6044820152635a45524f60e01b6064820152608401610453565b506001600160a01b038116600090815260046020526040902054806107495760405162461bcd60e51b815260206004820152601f60248201527f4552524f523a4343522d3030373a434f4d504f4e454e545f554e4b4e4f574e006044820152606401610453565b6000610746600683611830565b610a0a76496e7374616e63654f70657261746f725365727669636560481b611460565b6001600160a01b0316336001600160a01b031614610a3a5760405162461bcd60e51b8152600401610453906120a4565b610a4581600361184d565b6040518181527fd24597f0a62b78258ebd8c2fa52051cf673a5000d14d2fb619c91b1ed95c538a9060200160405180910390a16000610a8382610b99565b9050806001600160a01b031663a18f5ae26040518163ffffffff1660e01b8152600401600060405180830381600087803b15801561071d57600080fd5b610ae376496e7374616e63654f70657261746f725365727669636560481b611460565b6001600160a01b0316336001600160a01b031614610b135760405162461bcd60e51b8152600401610453906120a4565b610b1e81600561184d565b6040518181527f55d2d8495549e354e6ee012c5aa183eb0e08ee2f256349afb0f7f74d1940f9b39060200160405180910390a16000610b5c82610b99565b9050806001600160a01b031663b3fca9bd6040518163ffffffff1660e01b8152600401600060405180830381600087803b15801561071d57600080fd5b6000818152600260205260409020546001600160a01b0316806107495760405162461bcd60e51b815260206004820152602260248201527f4552524f523a4343522d3030353a494e56414c49445f434f4d504f4e454e545f604482015261125160f21b6064820152608401610453565b60006001826002811115610c2d57634e487b7160e01b600052602160045260246000fd5b1415610cc057600160009054906101000a90046001600160a01b03166001600160a01b031663775a40486040518163ffffffff1660e01b815260040160206040518083038186803b158015610c8157600080fd5b505afa158015610c95573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610cb99190611fcd565b9050610749565b6000826002811115610ce257634e487b7160e01b600052602160045260246000fd5b1415610d3657600160009054906101000a90046001600160a01b03166001600160a01b031663d49d21c06040518163ffffffff1660e01b815260040160206040518083038186803b158015610c8157600080fd5b6002826002811115610d5857634e487b7160e01b600052602160045260246000fd5b1415610dac57600160009054906101000a90046001600160a01b03166001600160a01b0316633ffdd2f36040518163ffffffff1660e01b815260040160206040518083038186803b158015610c8157600080fd5b60405162461bcd60e51b8152602060048201526024808201527f4552524f523a4343522d3031303a434f4d504f4e454e545f545950455f554e4b6044820152632727aba760e11b6064820152608401610453565b610e2174436f6d706f6e656e744f776e65725365727669636560581b611460565b6001600160a01b0316336001600160a01b0316146107a15760405162461bcd60e51b8152600401610453906120ef565b60006107466006836118f1565b610e8176496e7374616e63654f70657261746f725365727669636560481b611460565b6001600160a01b0316336001600160a01b031614610eb15760405162461bcd60e51b8152600401610453906120a4565b610ebc81600261184d565b6040518181527fd541b5f22e9e402fb32220d566405510c49372d27b4f47f1d0da1a153ea2007c9060200160405180910390a16000610efa82610b99565b9050806001600160a01b031663bd1fe5d06040518163ffffffff1660e01b8152600401600060405180830381600087803b15801561071d57600080fd5b600061090a600a6118e7565b60006107466008836118f1565b610f7376496e7374616e63654f70657261746f725365727669636560481b611460565b6001600160a01b0316336001600160a01b031614610fa35760405162461bcd60e51b8152600401610453906120a4565b610fae81600361184d565b6000610fb982610b99565b9050610fc4826109da565b1561106757806001600160a01b031663637d08f46040518163ffffffff1660e01b815260040160206040518083038186803b15801561100257600080fd5b505afa158015611016573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061103a9190611f91565b6000838152600d6020526040902080546001600160a01b0319166001600160a01b03929092169190911790555b6040518281527ff8d33755281aa5d41b12a70ae3947ee164ef541d786400d733b0b89df719859e9060200160405180910390a1806001600160a01b0316631b867c636040518163ffffffff1660e01b8152600401600060405180830381600087803b15801561071d57600080fd5b6000610746600a83611830565b600054610100900460ff16158080156111025750600054600160ff909116105b8061111c5750303b15801561111c575060005460ff166001145b61117f5760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b6064820152608401610453565b6000805460ff1916600117905580156111a2576000805461ff0019166101001790555b6000805462010000600160b01b031916620100006001600160a01b038516021790556111cc600090565b6541636365737360d01b1461120e576111ed6541636365737360d01b611460565b600180546001600160a01b0319166001600160a01b03929092169190911790555b6112166118fd565b801561125c576000805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b5050565b600061090a60066118e7565b6000611279600683611830565b1561128657506001610749565b611291600883611830565b1561129e57506000610749565b6112a9600a83611830565b156112b657506002610749565b60405162461bcd60e51b815260206004820152602260248201527f4552524f523a4343522d3030383a494e56414c49445f434f4d504f4e454e545f604482015261125160f21b6064820152608401610453565b6000611314826109da565b6113605760405162461bcd60e51b815260206004820181905260248201527f4552524f523a4343522d3031313a554e4b4e4f574e5f50524f445543545f49446044820152606401610453565b506000908152600d60205260409020546001600160a01b031690565b61139d74436f6d706f6e656e744f776e65725365727669636560581b611460565b6001600160a01b0316336001600160a01b0316146113cd5760405162461bcd60e51b8152600401610453906120ef565b6113d881600361184d565b6040518181527f8e78ca4cc29c505d9901fd1582ba8584083396ce204151eddd3e008749a24fe09060200160405180910390a1600061141682610b99565b9050806001600160a01b03166359dacc6a6040518163ffffffff1660e01b8152600401600060405180830381600087803b15801561071d57600080fd5b6000610746600a836118f1565b60008054604051631c2d8fb360e31b815260048101849052620100009091046001600160a01b03169063e16c7d989060240160206040518083038186803b1580156114aa57600080fd5b505afa1580156114be573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906114e29190611f91565b90506001600160a01b0381166107495760405162461bcd60e51b815260206004820152602560248201527f4552524f523a4352432d3030343a434f4e54524143545f4e4f545f5245474953604482015264151154915160da1b6064820152608401610453565b600c80546000918261155983612161565b9190505550600c54905061156e81600161184d565b60405163d0e0ba9560e01b8152600481018290526001600160a01b0383169063d0e0ba9590602401600060405180830381600087803b1580156115b057600080fd5b505af11580156115c4573d6000803e3d6000fd5b505050600082815260026020908152604080832080546001600160a01b0319166001600160a01b03881690811790915581516305f5f79f60e21b815291518695506003949391926317d7de7c926004808301939192829003018186803b15801561162d57600080fd5b505afa158015611641573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906116659190611fcd565b8152602001908152602001600020819055508060046000846001600160a01b03166001600160a01b0316815260200190815260200160002081905550816001600160a01b031663e0815f0d6040518163ffffffff1660e01b815260040160206040518083038186803b1580156116da57600080fd5b505afa1580156116ee573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906117129190611fad565b156117285761172260068261196a565b50610749565b816001600160a01b0316639a82f8906040518163ffffffff1660e01b815260040160206040518083038186803b15801561176157600080fd5b505afa158015611775573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906117999190611fad565b156117a95761172260088261196a565b816001600160a01b031663258d560c6040518163ffffffff1660e01b815260040160206040518083038186803b1580156117e257600080fd5b505afa1580156117f6573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061181a9190611fad565b156107495761182a600a8261196a565b50919050565b600081815260018301602052604081205415155b90505b92915050565b60008281526005602052604090205460ff166118698183611976565b6000838152600560205260409020805483919060ff191660018360068111156118a257634e487b7160e01b600052602160045260246000fd5b02179055507fd2248d3e400f6333d5de6d43446115557cb942e75002aa7ad26f9cac9b105b1a8382846040516118da93929190612138565b60405180910390a1505050565b6000610746825490565b60006118448383611ee7565b600054610100900460ff166119685760405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201526a6e697469616c697a696e6760a81b6064820152608401610453565b565b60006118448383611f1f565b81600681111561199657634e487b7160e01b600052602160045260246000fd5b8160068111156119b657634e487b7160e01b600052602160045260246000fd5b1415611a1c5760405162461bcd60e51b815260206004820152602f60248201527f4552524f523a4343522d3032303a534f555243455f414e445f5441524745545f60448201526e14d510551157d2511153951250d053608a1b6064820152608401610453565b6000826006811115611a3e57634e487b7160e01b600052602160045260246000fd5b1415611ac9576001816006811115611a6657634e487b7160e01b600052602160045260246000fd5b14611ac45760405162461bcd60e51b815260206004820152602860248201527f4552524f523a4343522d3032313a435245415445445f494e56414c49445f545260448201526720a729a4aa24a7a760c11b6064820152608401610453565b61125c565b6001826006811115611aeb57634e487b7160e01b600052602160045260246000fd5b1415611b9b576003816006811115611b1357634e487b7160e01b600052602160045260246000fd5b1480611b3e57506002816006811115611b3c57634e487b7160e01b600052602160045260246000fd5b145b611ac45760405162461bcd60e51b815260206004820152602860248201527f4552524f523a4343522d32323a50524f504f5345445f494e56414c49445f545260448201526720a729a4aa24a7a760c11b6064820152608401610453565b6002826006811115611bbd57634e487b7160e01b600052602160045260246000fd5b1415611c195760405162461bcd60e51b815260206004820152602560248201527f4552524f523a4343522d3032333a4445434c494e45445f49535f46494e414c5f604482015264535441544560d81b6064820152608401610453565b6003826006811115611c3b57634e487b7160e01b600052602160045260246000fd5b1415611cea576004816006811115611c6357634e487b7160e01b600052602160045260246000fd5b1480611c8e57506005816006811115611c8c57634e487b7160e01b600052602160045260246000fd5b145b611ac45760405162461bcd60e51b815260206004820152602760248201527f4552524f523a4343522d3032343a4143544956455f494e56414c49445f5452416044820152662729a4aa24a7a760c91b6064820152608401610453565b6004826006811115611d0c57634e487b7160e01b600052602160045260246000fd5b1415611dbb576003816006811115611d3457634e487b7160e01b600052602160045260246000fd5b1480611d5f57506006816006811115611d5d57634e487b7160e01b600052602160045260246000fd5b145b611ac45760405162461bcd60e51b815260206004820152602760248201527f4552524f523a4343522d3032353a5041555345445f494e56414c49445f5452416044820152662729a4aa24a7a760c91b6064820152608401610453565b6005826006811115611ddd57634e487b7160e01b600052602160045260246000fd5b1415611e8f576003816006811115611e0557634e487b7160e01b600052602160045260246000fd5b1480611e3057506006816006811115611e2e57634e487b7160e01b600052602160045260246000fd5b145b611ac45760405162461bcd60e51b815260206004820152602a60248201527f4552524f523a4343522d3032363a53555350454e4445445f494e56414c49445f6044820152692a2920a729a4aa24a7a760b11b6064820152608401610453565b60405162461bcd60e51b815260206004820152602760248201527f4552524f523a4343522d3032373a494e495449414c5f53544154455f4e4f545f6044820152661210539113115160ca1b6064820152608401610453565b6000826000018281548110611f0c57634e487b7160e01b600052603260045260246000fd5b9060005260206000200154905092915050565b6000818152600183016020526040812054611f6657508154600181810184556000848152602080822090930184905584548482528286019093526040902091909155611847565b506000611847565b600060208284031215611f7f578081fd5b8135611f8a8161219e565b9392505050565b600060208284031215611fa2578081fd5b8151611f8a8161219e565b600060208284031215611fbe578081fd5b81518015158114611f8a578182fd5b600060208284031215611fde578081fd5b5051919050565b600060208284031215611ff6578081fd5b8135611f8a816121b6565b600060208284031215612012578081fd5b8151611f8a816121b6565b60006020828403121561202e578081fd5b5035919050565b6007811061204557612045612188565b9052565b6003811061204557612045612188565b8481526080810161206d6020830186612049565b6001600160a01b039390931660408201526060015292915050565b602081016118478284612035565b602081016118478284612049565b6020808252602b908201527f4552524f523a4343522d3030323a4e4f545f494e5354414e43455f4f5045524160408201526a544f525f5345525649434560a81b606082015260800190565b60208082526029908201527f4552524f523a4343522d3030313a4e4f545f434f4d504f4e454e545f4f574e45604082015268525f5345525649434560b81b606082015260800190565b8381526060810161214c6020830185612035565b6121596040830184612035565b949350505050565b600060001982141561218157634e487b7160e01b81526011600452602481fd5b5060010190565b634e487b7160e01b600052602160045260246000fd5b6001600160a01b03811681146121b357600080fd5b50565b600381106121b357600080fdfea264697066735822122016c37234cc3a3ba7574e86d0a5b5f33d0c802c949c5aeb80b75e829e354567f364736f6c63430008020033",
  "deployedSourceMap": "516:10938:75:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1615:746;;;;;;:::i;:::-;;:::i;:::-;;8843:105;;;;;;:::i;:::-;;:::i;:::-;;;2780:14:103;;2773:22;2755:41;;2743:2;2728:18;8843:105:75;;;;;;;;5851:356;;;;;;:::i;:::-;;:::i;4825:324::-;;;;;;:::i;:::-;;:::i;8521:97::-;;;:::i;:::-;;;2953:25:103;;;2941:2;2926:18;8521:97:75;2908:76:103;6432:294:75;;;;;;:::i;:::-;;:::i;8730:107::-;;;;;;:::i;:::-;;:::i;4489:330::-;;;;;;:::i;:::-;;:::i;4144:339::-;;;;;;:::i;:::-;;:::i;6213:213::-;;;;;;:::i;:::-;;:::i;:::-;;;-1:-1:-1;;;;;2571:32:103;;;2553:51;;2541:2;2526:18;6213:213:75;2508:102:103;3158:163:75;;;;;;:::i;:::-;3206:4;3245:18;;;:14;:18;;;;;;-1:-1:-1;;;;;3245:18:75;3281:32;;;3158:163;7823:498;;;;;;:::i;:::-;;:::i;7261:145::-;;;;;;:::i;:::-;7321:40;7380:19;;;:15;:19;;;;;;;;;7261:145;;;;;;;;:::i;5493:352::-;;;;;;:::i;:::-;;:::i;7686:131::-;;;;;;:::i;:::-;;:::i;3805:333::-;;;;;;:::i;:::-;;:::i;8623:101::-;;;:::i;7412:128::-;;;;;;:::i;:::-;;:::i;3327:472::-;;;;;;:::i;:::-;;:::i;8327:85::-;8394:15;;8327:85;;8954:109;;;;;;:::i;:::-;;:::i;1143:232:88:-;;;;;;:::i;:::-;;:::i;8417:99:75:-;;;:::i;6732:523::-;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;9069:223::-;;;;;;:::i;:::-;;:::i;5155:332::-;;;;;;:::i;:::-;;:::i;7546:134::-;;;;;;:::i;:::-;;:::i;1615:746::-;1273:44;-1:-1:-1;;;1273:19:75;:44::i;:::-;-1:-1:-1;;;;;1257:60:75;719:10:22;-1:-1:-1;;;;;1257:60:75;;1236:139;;;;-1:-1:-1;;;1236:139:75;;;;;;;:::i;:::-;;;;;;;;;-1:-1:-1;;;;;1757:41:75;::::1;;::::0;;;:21:::1;:41;::::0;;;;;:46;1749:97:::1;;;::::0;-1:-1:-1;;;1749:97:75;;8970:2:103;1749:97:75::1;::::0;::::1;8952:21:103::0;9009:2;8989:18;;;8982:30;9048:34;9028:18;;;9021:62;-1:-1:-1;;;9099:18:103;;;9092:36;9145:19;;1749:97:75::1;8942:228:103::0;1749:97:75::1;1864:18;:39;1883:9;-1:-1:-1::0;;;;;1883:17:75::1;;:19;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;1864:39;;;;;;;;;;;;1907:1;1864:44;1856:100;;;::::0;-1:-1:-1;;;1856:100:75;;12195:2:103;1856:100:75::1;::::0;::::1;12177:21:103::0;12234:2;12214:18;;;12207:30;12273:34;12253:18;;;12246:62;-1:-1:-1;;;12324:18:103;;;12317:41;12375:19;;1856:100:75::1;12167:233:103::0;1856:100:75::1;2016:10;2029:28;2047:9;2029:17;:28::i;:::-;2016:41;;2118:135;2152:9;-1:-1:-1::0;;;;;2152:17:75::1;;:19;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;2185:9;-1:-1:-1::0;;;;;2185:17:75::1;;:19;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;2226:9;2250:2;2118:135;;;;;;;;;:::i;:::-;;;;;;;;2326:9;-1:-1:-1::0;;;;;2326:26:75::1;;:28;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;1385:1;1615:746:::0;:::o;8843:105::-;8894:4;8909:36;8932:8;8942:2;8909:22;:36::i;:::-;8902:43;;8843:105;;;;:::o;5851:356::-;1485:46;-1:-1:-1;;;1485:19:75;:46::i;:::-;-1:-1:-1;;;;;1469:62:75;719:10:22;-1:-1:-1;;;;;1469:62:75;;1448:143;;;;-1:-1:-1;;;1448:143:75;;;;;;;:::i;:::-;5970:52:::1;5983:2;5987:34;5970:12;:52::i;:::-;6037:24;::::0;2953:25:103;;;6037:24:75::1;::::0;2941:2:103;2926:18;6037:24:75::1;;;;;;;6124:20;6147:16;6160:2;6147:12;:16::i;:::-;6124:39;;6173:9;-1:-1:-1::0;;;;;6173:25:75::1;;:27;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;4825:324:::0;1273:44;-1:-1:-1;;;1273:19:75;:44::i;:::-;-1:-1:-1;;;;;1257:60:75;719:10:22;-1:-1:-1;;;;;1257:60:75;;1236:139;;;;-1:-1:-1;;;1236:139:75;;;;;;;:::i;:::-;4920:50:::1;4933:2;4937:32;4920:12;:50::i;:::-;4985:22;::::0;2953:25:103;;;4985:22:75::1;::::0;2941:2:103;2926:18;4985:22:75::1;;;;;;;5068:20;5091:16;5104:2;5091:12;:16::i;:::-;5068:39;;5117:9;-1:-1:-1::0;;;;;5117:23:75::1;;:25;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;8521:97:::0;8561:13;8585:30;8606:8;8585:20;:30::i;:::-;8578:37;;8521:97;:::o;6432:294::-;6503:10;-1:-1:-1;;;;;6533:30:75;;6525:79;;;;-1:-1:-1;;;6525:79:75;;6571:2:103;6525:79:75;;;6553:21:103;6610:2;6590:18;;;6583:30;6649:34;6629:18;;;6622:62;-1:-1:-1;;;6700:18:103;;;6693:34;6744:19;;6525:79:75;6543:226:103;6525:79:75;-1:-1:-1;;;;;;6619:39:75;;;;;;:21;:39;;;;;;6677:6;6669:50;;;;-1:-1:-1;;;6669:50:75;;8610:2:103;6669:50:75;;;8592:21:103;8649:2;8629:18;;;8622:30;8688:33;8668:18;;;8661:61;8739:18;;6669:50:75;8582:181:103;8730:107:75;8782:4;8797:37;8820:9;8831:2;8797:22;:37::i;4489:330::-;1485:46;-1:-1:-1;;;1485:19:75;:46::i;:::-;-1:-1:-1;;;;;1469:62:75;719:10:22;-1:-1:-1;;;;;1469:62:75;;1448:143;;;;-1:-1:-1;;;1448:143:75;;;;;;;:::i;:::-;4587:50:::1;4600:2;4604:32;4587:12;:50::i;:::-;4652:23;::::0;2953:25:103;;;4652:23:75::1;::::0;2941:2:103;2926:18;4652:23:75::1;;;;;;;4737:20;4760:16;4773:2;4760:12;:16::i;:::-;4737:39;;4786:9;-1:-1:-1::0;;;;;4786:24:75::1;;:26;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;4144:339:::0;1485:46;-1:-1:-1;;;1485:19:75;:46::i;:::-;-1:-1:-1;;;;;1469:62:75;719:10:22;-1:-1:-1;;;;;1469:62:75;;1448:143;;;;-1:-1:-1;;;1448:143:75;;;;;;;:::i;:::-;4243:53:::1;4256:2;4260:35;4243:12;:53::i;:::-;4311:25;::::0;2953::103;;;4311::75::1;::::0;2941:2:103;2926:18;4311:25:75::1;;;;;;;4400:20;4423:16;4436:2;4423:12;:16::i;:::-;4400:39;;4449:9;-1:-1:-1::0;;;;;4449:25:75::1;;:27;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;6213:213:::0;6268:20;6312:18;;;:14;:18;;;;;;-1:-1:-1;;;;;6312:18:75;6348:32;6340:79;;;;-1:-1:-1;;;6340:79:75;;11380:2:103;6340:79:75;;;11362:21:103;11419:2;11399:18;;;11392:30;11458:34;11438:18;;;11431:62;-1:-1:-1;;;11509:18:103;;;11502:32;11551:19;;6340:79:75;11352:224:103;7823:498:75;7911:7;7951:32;7934:13;:49;;;;;;-1:-1:-1;;;7934:49:75;;;;;;;;;;7930:385;;;7994:7;;;;;;;;;-1:-1:-1;;;;;7994:7:75;-1:-1:-1;;;;;7994:27:75;;:29;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;7987:36;;;;7930:385;8061:31;8044:13;:48;;;;;;-1:-1:-1;;;8044:48:75;;;;;;;;;;8040:275;;;8103:7;;;;;;;;;-1:-1:-1;;;;;8103:7:75;-1:-1:-1;;;;;8103:29:75;;:31;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8040:275;8172:33;8155:13;:50;;;;;;-1:-1:-1;;;8155:50:75;;;;;;;;;;8151:164;;;8216:7;;;;;;;;;-1:-1:-1;;;;;8216:7:75;-1:-1:-1;;;;;8216:29:75;;:31;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8151:164;8266:46;;-1:-1:-1;;;8266:46:75;;12607:2:103;8266:46:75;;;12589:21:103;12646:2;12626:18;;;12619:30;12685:34;12665:18;;;12658:62;-1:-1:-1;;;12736:18:103;;;12729:34;12780:19;;8266:46:75;12579:226:103;5493:352:75;1273:44;-1:-1:-1;;;1273:19:75;:44::i;:::-;-1:-1:-1;;;;;1257:60:75;719:10:22;-1:-1:-1;;;;;1257:60:75;;1236:139;;;;-1:-1:-1;;;1236:139:75;;;;;;;:::i;7686:131::-;7742:17;7778:32;7795:9;7806:3;7778:16;:32::i;3805:333::-;1485:46;-1:-1:-1;;;1485:19:75;:46::i;:::-;-1:-1:-1;;;;;1469:62:75;719:10:22;-1:-1:-1;;;;;1469:62:75;;1448:143;;;;-1:-1:-1;;;1448:143:75;;;;;;;:::i;:::-;3903:52:::1;3916:2;3920:34;3903:12;:52::i;:::-;3970:24;::::0;2953:25:103;;;3970:24:75::1;::::0;2941:2:103;2926:18;3970:24:75::1;;;;;;;4055:20;4078:16;4091:2;4078:12;:16::i;:::-;4055:39;;4104:9;-1:-1:-1::0;;;;;4104:25:75::1;;:27;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;8623:101:::0;8665:13;8689:32;8710:10;8689:20;:32::i;7412:128::-;7467:16;7502:31;7519:8;7529:3;7502:16;:31::i;3327:472::-;1485:46;-1:-1:-1;;;1485:19:75;:46::i;:::-;-1:-1:-1;;;;;1469:62:75;719:10:22;-1:-1:-1;;;;;1469:62:75;;1448:143;;;;-1:-1:-1;;;1448:143:75;;;;;;;:::i;:::-;3425:50:::1;3438:2;3442:32;3425:12;:50::i;:::-;3485:20;3508:16;3521:2;3508:12;:16::i;:::-;3485:39;;3539:13;3549:2;3539:9;:13::i;:::-;3535:117;;;3614:9;-1:-1:-1::0;;;;;3597:42:75::1;;:44;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;3568:26;::::0;;;:22:::1;:26;::::0;;;;:73;;-1:-1:-1;;;;;;3568:73:75::1;-1:-1:-1::0;;;;;3568:73:75;;;::::1;::::0;;;::::1;::::0;;3535:117:::1;3667:24;::::0;2953:25:103;;;3667:24:75::1;::::0;2941:2:103;2926:18;3667:24:75::1;;;;;;;3764:9;-1:-1:-1::0;;;;;3764:26:75::1;;:28;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;8954:109:::0;9007:4;9022:38;9045:10;9057:2;9022:22;:38::i;1143:232:88:-;3100:19:10;3123:13;;;;;;3122:14;;3168:34;;;;-1:-1:-1;3186:12:10;;3201:1;3186:12;;;;:16;3168:34;3167:97;;;-1:-1:-1;3236:4:10;1465:19:21;:23;;;3208:55:10;;-1:-1:-1;3246:12:10;;;;;:17;3208:55;3146:190;;;;-1:-1:-1;;;3146:190:10;;10557:2:103;3146:190:10;;;10539:21:103;10596:2;10576:18;;;10569:30;10635:34;10615:18;;;10608:62;-1:-1:-1;;;10686:18:103;;;10679:44;10740:19;;3146:190:10;10529:236:103;3146:190:10;3346:12;:16;;-1:-1:-1;;3346:16:10;3361:1;3346:16;;;3372:65;;;;3406:13;:20;;-1:-1:-1;;3406:20:10;;;;;3372:65;1210:9:88::1;:31:::0;;-1:-1:-1;;;;;;1210:31:88::1;::::0;-1:-1:-1;;;;;1210:31:88;::::1;;;::::0;;1255:10:::1;1431:7:::0;1381:73;;1255:10:::1;-1:-1:-1::0;;;1255:22:88::1;1251:81;;1299:29;-1:-1:-1::0;;;1299:19:88::1;:29::i;:::-;1281:7;:48:::0;;-1:-1:-1;;;;;;1281:48:88::1;-1:-1:-1::0;;;;;1281:48:88;;;::::1;::::0;;;::::1;::::0;;1251:81:::1;1350:18;:16;:18::i;:::-;3461:14:10::0;3457:99;;;3507:5;3491:21;;-1:-1:-1;;3491:21:10;;;3531:14;;-1:-1:-1;4277:36:103;;3531:14:10;;4265:2:103;4250:18;3531:14:10;;;;;;;3457:99;1143:232:88;;:::o;8417:99:75:-;8458:13;8482:31;8503:9;8482:20;:31::i;6732:523::-;6791:38;6845:37;6868:9;6879:2;6845:22;:37::i;:::-;6841:408;;;-1:-1:-1;6905:32:75;6898:39;;6841:408;6958:36;6981:8;6991:2;6958:22;:36::i;:::-;6954:295;;;-1:-1:-1;7017:31:75;7010:38;;6954:295;7069:38;7092:10;7104:2;7069:22;:38::i;:::-;7065:184;;;-1:-1:-1;7130:33:75;7123:40;;7065:184;7194:44;;-1:-1:-1;;;7194:44:75;;9377:2:103;7194:44:75;;;9359:21:103;9416:2;9396:18;;;9389:30;9455:34;9435:18;;;9428:62;-1:-1:-1;;;9506:18:103;;;9499:32;9548:19;;7194:44:75;9349:224:103;9069:223:75;9132:19;9171:20;9181:9;9171;:20::i;:::-;9163:65;;;;-1:-1:-1;;;9163:65:75;;10196:2:103;9163:65:75;;;10178:21:103;;;10215:18;;;10208:30;10274:34;10254:18;;;10247:62;10326:18;;9163:65:75;10168:182:103;9163:65:75;-1:-1:-1;9252:33:75;;;;:22;:33;;;;;;-1:-1:-1;;;;;9252:33:75;;9069:223::o;5155:332::-;1273:44;-1:-1:-1;;;1273:19:75;:44::i;:::-;-1:-1:-1;;;;;1257:60:75;719:10:22;-1:-1:-1;;;;;1257:60:75;;1236:139;;;;-1:-1:-1;;;1236:139:75;;;;;;;:::i;:::-;5252:50:::1;5265:2;5269:32;5252:12;:50::i;:::-;5317:24;::::0;2953:25:103;;;5317:24:75::1;::::0;2941:2:103;2926:18;5317:24:75::1;;;;;;;5404:20;5427:16;5440:2;5427:12;:16::i;:::-;5404:39;;5453:9;-1:-1:-1::0;;;;;5453:25:75::1;;:27;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;7546:134:::0;7603:18;7640:33;7657:10;7669:3;7640:16;:33::i;1530:293:88:-;1604:23;1658:9;;:35;;-1:-1:-1;;;1658:35:88;;;;;2953:25:103;;;1658:9:88;;;;-1:-1:-1;;;;;1658:9:88;;:21;;2926:18:103;;1658:35:88;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;1640:53;-1:-1:-1;;;;;;1724:29:88;;1703:113;;;;-1:-1:-1;;;1703:113:88;;4934:2:103;1703:113:88;;;4916:21:103;4973:2;4953:18;;;4946:30;5012:34;4992:18;;;4985:62;-1:-1:-1;;;5063:18:103;;;5056:35;5108:19;;1703:113:88;4906:227:103;2367:785:75;2511:15;:17;;2450:10;;;2511:17;;;:::i;:::-;;;;;;2543:15;;2538:20;;2603:52;2616:2;2620:34;2603:12;:52::i;:::-;2665:19;;-1:-1:-1;;;2665:19:75;;;;;2953:25:103;;;-1:-1:-1;;;;;2665:15:75;;;;;2926:18:103;;2665:19:75;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;2737:18:75;;;;:14;:18;;;;;;;;:30;;-1:-1:-1;;;;;;2737:30:75;-1:-1:-1;;;;;2737:30:75;;;;;;;;2796:19;;-1:-1:-1;;;2796:19:75;;;;2737:18;;-1:-1:-1;2777:18:75;;2737;:30;;2796:17;;:19;;;;;2737:18;;2796:19;;;;;2737:30;2796:19;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;2777:39;;;;;;;;;;;:44;;;;2875:2;2831:21;:41;2861:9;-1:-1:-1;;;;;2831:41:75;-1:-1:-1;;;;;2831:41:75;;;;;;;;;;;;:46;;;;2930:9;-1:-1:-1;;;;;2930:19:75;;:21;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;2926:220;;;2955:32;2973:9;2984:2;2955:17;:32::i;:::-;;2926:220;;;3008:9;-1:-1:-1;;;;;3008:18:75;;:20;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;3004:142;;;3032:31;3050:8;3060:2;3032:17;:31::i;3004:142::-;3084:9;-1:-1:-1;;;;;3084:20:75;;:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;3080:66;;;3110:33;3128:10;3140:2;3110:17;:33::i;:::-;;2367:785;;;:::o;11029:144:27:-;11106:4;4250:19;;;:12;;;:19;;;;;;:24;;11129:37;11122:44;;11029:144;;;;;:::o;9298:403:75:-;9396:34;9433:28;;;:15;:28;;;;;;;;9472:41;9433:28;9504:8;9472:21;:41::i;:::-;9523:28;;;;:15;:28;;;;;:39;;9554:8;;9523:28;-1:-1:-1;;9523:39:75;;9554:8;9523:39;;;;;;-1:-1:-1;;;9523:39:75;;;;;;;;;;;;;;9637:57;9662:11;9675:8;9685;9637:57;;;;;;;;:::i;:::-;;;;;;;;9298:403;;;:::o;11254:112:27:-;11314:7;11340:19;11348:3;4444:18;;4362:107;11708:135;11779:7;11813:22;11817:3;11829:5;11813:3;:22::i;1460:64:88:-;4888:13:10;;;;;;;4880:69;;;;-1:-1:-1;;;4880:69:10;;11783:2:103;4880:69:10;;;11765:21:103;11822:2;11802:18;;;11795:30;11861:34;11841:18;;;11834:62;-1:-1:-1;;;11912:18:103;;;11905:41;11963:19;;4880:69:10;11755:233:103;4880:69:10;1460:64:88:o;10516:129:27:-;10583:4;10606:32;10611:3;10631:5;10606:4;:32::i;9707:1745:75:-;9900:8;9888:20;;;;;;-1:-1:-1;;;9888:20:75;;;;;;;;;:8;:20;;;;;;-1:-1:-1;;;9888:20:75;;;;;;;;;;;9880:93;;;;-1:-1:-1;;;9880:93:75;;9780:2:103;9880:93:75;;;9762:21:103;9819:2;9799:18;;;9792:30;9858:34;9838:18;;;9831:62;-1:-1:-1;;;9909:18:103;;;9902:45;9964:19;;9880:93:75;9752:237:103;9880:93:75;10008:33;9996:8;:45;;;;;;-1:-1:-1;;;9996:45:75;;;;;;;;;;9992:1454;;;10077:34;10065:8;:46;;;;;;-1:-1:-1;;;10065:46:75;;;;;;;;;;10057:116;;;;-1:-1:-1;;;10057:116:75;;5752:2:103;10057:116:75;;;5734:21:103;5791:2;5771:18;;;5764:30;5830:34;5810:18;;;5803:62;-1:-1:-1;;;5881:18:103;;;5874:38;5929:19;;10057:116:75;5724:230:103;10057:116:75;9992:1454;;;10206:34;10194:8;:46;;;;;;-1:-1:-1;;;10194:46:75;;;;;;;;;;10190:1256;;;10276:32;10264:8;:44;;;;;;-1:-1:-1;;;10264:44:75;;;;;;;;;;:111;;;-1:-1:-1;10341:34:75;10329:8;:46;;;;;;-1:-1:-1;;;10329:46:75;;;;;;;;;;10264:111;10256:181;;;;-1:-1:-1;;;10256:181:75;;6976:2:103;10256:181:75;;;6958:21:103;7015:2;6995:18;;;6988:30;7054:34;7034:18;;;7027:62;-1:-1:-1;;;7105:18:103;;;7098:38;7153:19;;10256:181:75;6948:230:103;10190:1256:75;10470:34;10458:8;:46;;;;;;-1:-1:-1;;;10458:46:75;;;;;;;;;;10454:992;;;10520:47;;-1:-1:-1;;;10520:47:75;;7385:2:103;10520:47:75;;;7367:21:103;7424:2;7404:18;;;7397:30;7463:34;7443:18;;;7436:62;-1:-1:-1;;;7514:18:103;;;7507:35;7559:19;;10520:47:75;7357:227:103;10454:992:75;10600:32;10588:8;:44;;;;;;-1:-1:-1;;;10588:44:75;;;;;;;;;;10584:862;;;10668:32;10656:8;:44;;;;;;-1:-1:-1;;;10656:44:75;;;;;;;;;;:112;;;-1:-1:-1;10733:35:75;10721:8;:47;;;;;;-1:-1:-1;;;10721:47:75;;;;;;;;;;10656:112;10648:181;;;;-1:-1:-1;;;10648:181:75;;10972:2:103;10648:181:75;;;10954:21:103;11011:2;10991:18;;;10984:30;11050:34;11030:18;;;11023:62;-1:-1:-1;;;11101:18:103;;;11094:37;11148:19;;10648:181:75;10944:229:103;10584:862:75;10862:32;10850:8;:44;;;;;;-1:-1:-1;;;10850:44:75;;;;;;;;;;10846:600;;;10930:32;10918:8;:44;;;;;;-1:-1:-1;;;10918:44:75;;;;;;;;;;:110;;;-1:-1:-1;10994:34:75;10982:8;:46;;;;;;-1:-1:-1;;;10982:46:75;;;;;;;;;;10918:110;10910:179;;;;-1:-1:-1;;;10910:179:75;;4526:2:103;10910:179:75;;;4508:21:103;4565:2;4545:18;;;4538:30;4604:34;4584:18;;;4577:62;-1:-1:-1;;;4655:18:103;;;4648:37;4702:19;;10910:179:75;4498:229:103;10846:600:75;11122:35;11110:8;:47;;;;;;-1:-1:-1;;;11110:47:75;;;;;;;;;;11106:340;;;11193:32;11181:8;:44;;;;;;-1:-1:-1;;;11181:44:75;;;;;;;;;;:110;;;-1:-1:-1;11257:34:75;11245:8;:46;;;;;;-1:-1:-1;;;11245:46:75;;;;;;;;;;11181:110;11173:182;;;;-1:-1:-1;;;11173:182:75;;8199:2:103;11173:182:75;;;8181:21:103;8238:2;8218:18;;;8211:30;8277:34;8257:18;;;8250:62;-1:-1:-1;;;8328:18:103;;;8321:40;8378:19;;11173:182:75;8171:232:103;11106:340:75;11386:49;;-1:-1:-1;;;11386:49:75;;7791:2:103;11386:49:75;;;7773:21:103;7830:2;7810:18;;;7803:30;7869:34;7849:18;;;7842:62;-1:-1:-1;;;7920:18:103;;;7913:37;7967:19;;11386:49:75;7763:229:103;4811:118:27;4878:7;4904:3;:11;;4916:5;4904:18;;;;;;-1:-1:-1;;;4904:18:27;;;;;;;;;;;;;;;;;4897:25;;4811:118;;;;:::o;2113:404::-;2176:4;4250:19;;;:12;;;:19;;;;;;2192:319;;-1:-1:-1;2234:23:27;;;;;;;;:11;:23;;;;;;;;;;;;;2414:18;;2392:19;;;:12;;;:19;;;;;;:40;;;;2446:11;;2192:319;-1:-1:-1;2495:5:27;2488:12;;14:257:103;;126:2;114:9;105:7;101:23;97:32;94:2;;;147:6;139;132:22;94:2;191:9;178:23;210:31;235:5;210:31;:::i;:::-;260:5;84:187;-1:-1:-1;;;84:187:103:o;276:261::-;;399:2;387:9;378:7;374:23;370:32;367:2;;;420:6;412;405:22;367:2;457:9;451:16;476:31;501:5;476:31;:::i;542:297::-;;662:2;650:9;641:7;637:23;633:32;630:2;;;683:6;675;668:22;630:2;720:9;714:16;773:5;766:13;759:21;752:5;749:32;739:2;;800:6;792;785:22;844:194;;967:2;955:9;946:7;942:23;938:32;935:2;;;988:6;980;973:22;935:2;-1:-1:-1;1016:16:103;;925:113;-1:-1:-1;925:113:103:o;1325:287::-;;1456:2;1444:9;1435:7;1431:23;1427:32;1424:2;;;1477:6;1469;1462:22;1424:2;1521:9;1508:23;1540:42;1576:5;1540:42;:::i;1617:291::-;;1759:2;1747:9;1738:7;1734:23;1730:32;1727:2;;;1780:6;1772;1765:22;1727:2;1817:9;1811:16;1836:42;1872:5;1836:42;:::i;1913:190::-;;2025:2;2013:9;2004:7;2000:23;1996:32;1993:2;;;2046:6;2038;2031:22;1993:2;-1:-1:-1;2074:23:103;;1983:120;-1:-1:-1;1983:120:103:o;2108:145::-;2194:1;2187:5;2184:12;2174:2;;2200:18;;:::i;:::-;2229;;2164:89::o;2258:144::-;2343:1;2336:5;2333:12;2323:2;;2349:18;;:::i;2989:457::-;3237:25;;;3224:3;3209:19;;3271:57;3324:2;3309:18;;3301:6;3271:57;:::i;:::-;-1:-1:-1;;;;;3364:32:103;;;;3359:2;3344:18;;3337:60;3428:2;3413:18;3406:34;3191:255;;-1:-1:-1;;3191:255:103:o;3679:219::-;3831:2;3816:18;;3843:49;3820:9;3874:6;3843:49;:::i;3903:217::-;4054:2;4039:18;;4066:48;4043:9;4096:6;4066:48;:::i;5138:407::-;5340:2;5322:21;;;5379:2;5359:18;;;5352:30;5418:34;5413:2;5398:18;;5391:62;-1:-1:-1;;;5484:2:103;5469:18;;5462:41;5535:3;5520:19;;5312:233::o;5959:405::-;6161:2;6143:21;;;6200:2;6180:18;;;6173:30;6239:34;6234:2;6219:18;;6212:62;-1:-1:-1;;;6305:2:103;6290:18;;6283:39;6354:3;6339:19;;6133:231::o;12992:403::-;13230:25;;;13218:2;13203:18;;13264:58;13318:2;13303:18;;13295:6;13264:58;:::i;:::-;13331;13385:2;13374:9;13370:18;13362:6;13331:58;:::i;:::-;13185:210;;;;;;:::o;13400:236::-;;-1:-1:-1;;13460:17:103;;13457:2;;;-1:-1:-1;;;13500:33:103;;13556:4;13553:1;13546:15;13586:4;13507:3;13574:17;13457:2;-1:-1:-1;13628:1:103;13617:13;;13447:189::o;13641:127::-;13702:10;13697:3;13693:20;13690:1;13683:31;13733:4;13730:1;13723:15;13757:4;13754:1;13747:15;13773:131;-1:-1:-1;;;;;13848:31:103;;13838:42;;13828:2;;13894:1;13891;13884:12;13828:2;13818:86;:::o;13909:112::-;13995:1;13988:5;13985:12;13975:2;;14011:1;14008;14001:12",
  "language": "Solidity",
  "natspec": {
    "kind": "dev",
    "methods": {},
    "version": 1
  },
  "offset": [
    516,
    11454
  ],
  "opcodes": "PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH2 0x10 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x4 CALLDATASIZE LT PUSH2 0x1A9 JUMPI PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0x6BC607B3 GT PUSH2 0xF9 JUMPI DUP1 PUSH4 0xBA80B8ED GT PUSH2 0x97 JUMPI DUP1 PUSH4 0xDD51C86A GT PUSH2 0x71 JUMPI DUP1 PUSH4 0xDD51C86A EQ PUSH2 0x3A9 JUMPI DUP1 PUSH4 0xE61AE297 EQ PUSH2 0x3C9 JUMPI DUP1 PUSH4 0xFABC1CBC EQ PUSH2 0x3DC JUMPI DUP1 PUSH4 0xFF3F3883 EQ PUSH2 0x3EF JUMPI PUSH2 0x1A9 JUMP JUMPDEST DUP1 PUSH4 0xBA80B8ED EQ PUSH2 0x37B JUMPI DUP1 PUSH4 0xC4D66DE8 EQ PUSH2 0x38E JUMPI DUP1 PUSH4 0xC71E261F EQ PUSH2 0x3A1 JUMPI PUSH2 0x1A9 JUMP JUMPDEST DUP1 PUSH4 0xA054381F GT PUSH2 0xD3 JUMPI DUP1 PUSH4 0xA054381F EQ PUSH2 0x345 JUMPI DUP1 PUSH4 0xA5C0F5A1 EQ PUSH2 0x34D JUMPI DUP1 PUSH4 0xB759F954 EQ PUSH2 0x360 JUMPI DUP1 PUSH4 0xBA62FBE4 EQ PUSH2 0x373 JUMPI PUSH2 0x1A9 JUMP JUMPDEST DUP1 PUSH4 0x6BC607B3 EQ PUSH2 0x30C JUMPI DUP1 PUSH4 0x9F77A605 EQ PUSH2 0x31F JUMPI DUP1 PUSH4 0xA0355F4E EQ PUSH2 0x332 JUMPI PUSH2 0x1A9 JUMP JUMPDEST DUP1 PUSH4 0x3920200C GT PUSH2 0x166 JUMPI DUP1 PUSH4 0x4F27DA18 GT PUSH2 0x140 JUMPI DUP1 PUSH4 0x4F27DA18 EQ PUSH2 0x273 JUMPI DUP1 PUSH4 0x4F558E79 EQ PUSH2 0x29E JUMPI DUP1 PUSH4 0x5AF89A47 EQ PUSH2 0x2C9 JUMPI DUP1 PUSH4 0x5E966E45 EQ PUSH2 0x2DC JUMPI PUSH2 0x1A9 JUMP JUMPDEST DUP1 PUSH4 0x3920200C EQ PUSH2 0x23A JUMPI DUP1 PUSH4 0x414000B5 EQ PUSH2 0x24D JUMPI DUP1 PUSH4 0x4B865846 EQ PUSH2 0x260 JUMPI PUSH2 0x1A9 JUMP JUMPDEST DUP1 PUSH4 0x1267951 EQ PUSH2 0x1AE JUMPI DUP1 PUSH4 0x9F63ED9 EQ PUSH2 0x1C3 JUMPI DUP1 PUSH4 0xF5DA3A6 EQ PUSH2 0x1EB JUMPI DUP1 PUSH4 0x136439DD EQ PUSH2 0x1FE JUMPI DUP1 PUSH4 0x2857373A EQ PUSH2 0x211 JUMPI DUP1 PUSH4 0x2B1C7F73 EQ PUSH2 0x227 JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x1C1 PUSH2 0x1BC CALLDATASIZE PUSH1 0x4 PUSH2 0x1F6E JUMP JUMPDEST PUSH2 0x402 JUMP JUMPDEST STOP JUMPDEST PUSH2 0x1D6 PUSH2 0x1D1 CALLDATASIZE PUSH1 0x4 PUSH2 0x201D JUMP JUMPDEST PUSH2 0x739 JUMP JUMPDEST PUSH1 0x40 MLOAD SWAP1 ISZERO ISZERO DUP2 MSTORE PUSH1 0x20 ADD JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x1C1 PUSH2 0x1F9 CALLDATASIZE PUSH1 0x4 PUSH2 0x201D JUMP JUMPDEST PUSH2 0x74E JUMP JUMPDEST PUSH2 0x1C1 PUSH2 0x20C CALLDATASIZE PUSH1 0x4 PUSH2 0x201D JUMP JUMPDEST PUSH2 0x827 JUMP JUMPDEST PUSH2 0x219 PUSH2 0x8FE JUMP JUMPDEST PUSH1 0x40 MLOAD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH2 0x1E2 JUMP JUMPDEST PUSH2 0x219 PUSH2 0x235 CALLDATASIZE PUSH1 0x4 PUSH2 0x1F6E JUMP JUMPDEST PUSH2 0x90F JUMP JUMPDEST PUSH2 0x1D6 PUSH2 0x248 CALLDATASIZE PUSH1 0x4 PUSH2 0x201D JUMP JUMPDEST PUSH2 0x9DA JUMP JUMPDEST PUSH2 0x1C1 PUSH2 0x25B CALLDATASIZE PUSH1 0x4 PUSH2 0x201D JUMP JUMPDEST PUSH2 0x9E7 JUMP JUMPDEST PUSH2 0x1C1 PUSH2 0x26E CALLDATASIZE PUSH1 0x4 PUSH2 0x201D JUMP JUMPDEST PUSH2 0xAC0 JUMP JUMPDEST PUSH2 0x286 PUSH2 0x281 CALLDATASIZE PUSH1 0x4 PUSH2 0x201D JUMP JUMPDEST PUSH2 0xB99 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP1 SWAP2 AND DUP2 MSTORE PUSH1 0x20 ADD PUSH2 0x1E2 JUMP JUMPDEST PUSH2 0x1D6 PUSH2 0x2AC CALLDATASIZE PUSH1 0x4 PUSH2 0x201D JUMP JUMPDEST PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x2 PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND ISZERO ISZERO SWAP1 JUMP JUMPDEST PUSH2 0x219 PUSH2 0x2D7 CALLDATASIZE PUSH1 0x4 PUSH2 0x1FE5 JUMP JUMPDEST PUSH2 0xC09 JUMP JUMPDEST PUSH2 0x2FF PUSH2 0x2EA CALLDATASIZE PUSH1 0x4 PUSH2 0x201D JUMP JUMPDEST PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x5 PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SLOAD PUSH1 0xFF AND SWAP1 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x1E2 SWAP2 SWAP1 PUSH2 0x2088 JUMP JUMPDEST PUSH2 0x1C1 PUSH2 0x31A CALLDATASIZE PUSH1 0x4 PUSH2 0x201D JUMP JUMPDEST PUSH2 0xE00 JUMP JUMPDEST PUSH2 0x219 PUSH2 0x32D CALLDATASIZE PUSH1 0x4 PUSH2 0x201D JUMP JUMPDEST PUSH2 0xE51 JUMP JUMPDEST PUSH2 0x1C1 PUSH2 0x340 CALLDATASIZE PUSH1 0x4 PUSH2 0x201D JUMP JUMPDEST PUSH2 0xE5E JUMP JUMPDEST PUSH2 0x219 PUSH2 0xF37 JUMP JUMPDEST PUSH2 0x219 PUSH2 0x35B CALLDATASIZE PUSH1 0x4 PUSH2 0x201D JUMP JUMPDEST PUSH2 0xF43 JUMP JUMPDEST PUSH2 0x1C1 PUSH2 0x36E CALLDATASIZE PUSH1 0x4 PUSH2 0x201D JUMP JUMPDEST PUSH2 0xF50 JUMP JUMPDEST PUSH1 0xC SLOAD PUSH2 0x219 JUMP JUMPDEST PUSH2 0x1D6 PUSH2 0x389 CALLDATASIZE PUSH1 0x4 PUSH2 0x201D JUMP JUMPDEST PUSH2 0x10D5 JUMP JUMPDEST PUSH2 0x1C1 PUSH2 0x39C CALLDATASIZE PUSH1 0x4 PUSH2 0x1F6E JUMP JUMPDEST PUSH2 0x10E2 JUMP JUMPDEST PUSH2 0x219 PUSH2 0x1260 JUMP JUMPDEST PUSH2 0x3BC PUSH2 0x3B7 CALLDATASIZE PUSH1 0x4 PUSH2 0x201D JUMP JUMPDEST PUSH2 0x126C JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x1E2 SWAP2 SWAP1 PUSH2 0x2096 JUMP JUMPDEST PUSH2 0x286 PUSH2 0x3D7 CALLDATASIZE PUSH1 0x4 PUSH2 0x201D JUMP JUMPDEST PUSH2 0x1309 JUMP JUMPDEST PUSH2 0x1C1 PUSH2 0x3EA CALLDATASIZE PUSH1 0x4 PUSH2 0x201D JUMP JUMPDEST PUSH2 0x137C JUMP JUMPDEST PUSH2 0x219 PUSH2 0x3FD CALLDATASIZE PUSH1 0x4 PUSH2 0x201D JUMP JUMPDEST PUSH2 0x1453 JUMP JUMPDEST PUSH2 0x423 PUSH21 0x436F6D706F6E656E744F776E657253657276696365 PUSH1 0x58 SHL PUSH2 0x1460 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND CALLER PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND EQ PUSH2 0x45C JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x453 SWAP1 PUSH2 0x20EF JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x4 PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SLOAD ISZERO PUSH2 0x4D1 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 0x4552524F523A4343522D3030333A434F4D504F4E454E545F414C52454144595F PUSH1 0x44 DUP3 ADD MSTORE PUSH6 0x455849535453 PUSH1 0xD0 SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH2 0x453 JUMP JUMPDEST PUSH1 0x3 PUSH1 0x0 DUP3 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH4 0x17D7DE7C 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 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x50E JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x522 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 0x546 SWAP2 SWAP1 PUSH2 0x1FCD JUMP JUMPDEST DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 SLOAD PUSH1 0x0 EQ PUSH2 0x5B8 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x2B PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x4552524F523A4343522D3030343A434F4D504F4E454E545F4E414D455F414C52 PUSH1 0x44 DUP3 ADD MSTORE PUSH11 0x454144595F455849535453 PUSH1 0xA8 SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH2 0x453 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x5C3 DUP3 PUSH2 0x1548 JUMP JUMPDEST SWAP1 POP PUSH32 0xD9B3D18A6293C46C667FE6A98468C457078489F2E16E356BB4C77BB2E22D2016 DUP3 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH4 0x17D7DE7C 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 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x61F JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x633 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 0x657 SWAP2 SWAP1 PUSH2 0x1FCD JUMP JUMPDEST DUP4 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH4 0x15DAE03E 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 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x690 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x6A4 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 0x6C8 SWAP2 SWAP1 PUSH2 0x2001 JUMP JUMPDEST DUP5 DUP5 PUSH1 0x40 MLOAD PUSH2 0x6DA SWAP5 SWAP4 SWAP3 SWAP2 SWAP1 PUSH2 0x2059 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG1 DUP2 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH4 0x638CE0BA PUSH1 0x40 MLOAD DUP2 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 PUSH1 0x0 DUP8 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x71D JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS CALL ISZERO DUP1 ISZERO PUSH2 0x731 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x746 PUSH1 0x8 DUP4 PUSH2 0x1830 JUMP JUMPDEST SWAP1 POP JUMPDEST SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x771 PUSH23 0x496E7374616E63654F70657261746F7253657276696365 PUSH1 0x48 SHL PUSH2 0x1460 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND CALLER PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND EQ PUSH2 0x7A1 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x453 SWAP1 PUSH2 0x20A4 JUMP JUMPDEST PUSH2 0x7AC DUP2 PUSH1 0x6 PUSH2 0x184D JUMP JUMPDEST PUSH1 0x40 MLOAD DUP2 DUP2 MSTORE PUSH32 0x9E6D5F1811033619318D2FBE9EE7EC46C830175B39F7885248B51E0DECB5837A SWAP1 PUSH1 0x20 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG1 PUSH1 0x0 PUSH2 0x7EA DUP3 PUSH2 0xB99 JUMP JUMPDEST SWAP1 POP DUP1 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH4 0xBE169E7E PUSH1 0x40 MLOAD DUP2 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 PUSH1 0x0 DUP8 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x71D JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x848 PUSH21 0x436F6D706F6E656E744F776E657253657276696365 PUSH1 0x58 SHL PUSH2 0x1460 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND CALLER PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND EQ PUSH2 0x878 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x453 SWAP1 PUSH2 0x20EF JUMP JUMPDEST PUSH2 0x883 DUP2 PUSH1 0x4 PUSH2 0x184D JUMP JUMPDEST PUSH1 0x40 MLOAD DUP2 DUP2 MSTORE PUSH32 0x45DBC7E529DF39B8D70DE83CC9E1D38C088E6BA21AB836E976F7310F1CBB8AFD SWAP1 PUSH1 0x20 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG1 PUSH1 0x0 PUSH2 0x8C1 DUP3 PUSH2 0xB99 JUMP JUMPDEST SWAP1 POP DUP1 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH4 0xD73CD992 PUSH1 0x40 MLOAD DUP2 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 PUSH1 0x0 DUP8 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x71D JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 PUSH2 0x90A PUSH1 0x8 PUSH2 0x18E7 JUMP JUMPDEST SWAP1 POP SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP3 AND PUSH2 0x973 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 0x4552524F523A4343522D3030363A434F4D504F4E454E545F414444524553535F PUSH1 0x44 DUP3 ADD MSTORE PUSH4 0x5A45524F PUSH1 0xE0 SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH2 0x453 JUMP JUMPDEST POP PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x4 PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SLOAD DUP1 PUSH2 0x749 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 0x4552524F523A4343522D3030373A434F4D504F4E454E545F554E4B4E4F574E00 PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH2 0x453 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x746 PUSH1 0x6 DUP4 PUSH2 0x1830 JUMP JUMPDEST PUSH2 0xA0A PUSH23 0x496E7374616E63654F70657261746F7253657276696365 PUSH1 0x48 SHL PUSH2 0x1460 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND CALLER PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND EQ PUSH2 0xA3A JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x453 SWAP1 PUSH2 0x20A4 JUMP JUMPDEST PUSH2 0xA45 DUP2 PUSH1 0x3 PUSH2 0x184D JUMP JUMPDEST PUSH1 0x40 MLOAD DUP2 DUP2 MSTORE PUSH32 0xD24597F0A62B78258EBD8C2FA52051CF673A5000D14D2FB619C91B1ED95C538A SWAP1 PUSH1 0x20 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG1 PUSH1 0x0 PUSH2 0xA83 DUP3 PUSH2 0xB99 JUMP JUMPDEST SWAP1 POP DUP1 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH4 0xA18F5AE2 PUSH1 0x40 MLOAD DUP2 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 PUSH1 0x0 DUP8 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x71D JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0xAE3 PUSH23 0x496E7374616E63654F70657261746F7253657276696365 PUSH1 0x48 SHL PUSH2 0x1460 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND CALLER PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND EQ PUSH2 0xB13 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x453 SWAP1 PUSH2 0x20A4 JUMP JUMPDEST PUSH2 0xB1E DUP2 PUSH1 0x5 PUSH2 0x184D JUMP JUMPDEST PUSH1 0x40 MLOAD DUP2 DUP2 MSTORE PUSH32 0x55D2D8495549E354E6EE012C5AA183EB0E08EE2F256349AFB0F7F74D1940F9B3 SWAP1 PUSH1 0x20 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG1 PUSH1 0x0 PUSH2 0xB5C DUP3 PUSH2 0xB99 JUMP JUMPDEST SWAP1 POP DUP1 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH4 0xB3FCA9BD PUSH1 0x40 MLOAD DUP2 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 PUSH1 0x0 DUP8 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x71D JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP2 DUP2 MSTORE PUSH1 0x2 PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP1 PUSH2 0x749 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x22 PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x4552524F523A4343522D3030353A494E56414C49445F434F4D504F4E454E545F PUSH1 0x44 DUP3 ADD MSTORE PUSH2 0x1251 PUSH1 0xF2 SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH2 0x453 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x1 DUP3 PUSH1 0x2 DUP2 GT ISZERO PUSH2 0xC2D JUMPI PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x21 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST EQ ISZERO PUSH2 0xCC0 JUMPI 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 0x775A4048 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 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0xC81 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0xC95 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 0xCB9 SWAP2 SWAP1 PUSH2 0x1FCD JUMP JUMPDEST SWAP1 POP PUSH2 0x749 JUMP JUMPDEST PUSH1 0x0 DUP3 PUSH1 0x2 DUP2 GT ISZERO PUSH2 0xCE2 JUMPI PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x21 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST EQ ISZERO PUSH2 0xD36 JUMPI 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 0xD49D21C0 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 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0xC81 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x2 DUP3 PUSH1 0x2 DUP2 GT ISZERO PUSH2 0xD58 JUMPI PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x21 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST EQ ISZERO PUSH2 0xDAC JUMPI 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 0x3FFDD2F3 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 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0xC81 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x24 DUP1 DUP3 ADD MSTORE PUSH32 0x4552524F523A4343522D3031303A434F4D504F4E454E545F545950455F554E4B PUSH1 0x44 DUP3 ADD MSTORE PUSH4 0x2727ABA7 PUSH1 0xE1 SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH2 0x453 JUMP JUMPDEST PUSH2 0xE21 PUSH21 0x436F6D706F6E656E744F776E657253657276696365 PUSH1 0x58 SHL PUSH2 0x1460 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND CALLER PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND EQ PUSH2 0x7A1 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x453 SWAP1 PUSH2 0x20EF JUMP JUMPDEST PUSH1 0x0 PUSH2 0x746 PUSH1 0x6 DUP4 PUSH2 0x18F1 JUMP JUMPDEST PUSH2 0xE81 PUSH23 0x496E7374616E63654F70657261746F7253657276696365 PUSH1 0x48 SHL PUSH2 0x1460 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND CALLER PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND EQ PUSH2 0xEB1 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x453 SWAP1 PUSH2 0x20A4 JUMP JUMPDEST PUSH2 0xEBC DUP2 PUSH1 0x2 PUSH2 0x184D JUMP JUMPDEST PUSH1 0x40 MLOAD DUP2 DUP2 MSTORE PUSH32 0xD541B5F22E9E402FB32220D566405510C49372D27B4F47F1D0DA1A153EA2007C SWAP1 PUSH1 0x20 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG1 PUSH1 0x0 PUSH2 0xEFA DUP3 PUSH2 0xB99 JUMP JUMPDEST SWAP1 POP DUP1 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH4 0xBD1FE5D0 PUSH1 0x40 MLOAD DUP2 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 PUSH1 0x0 DUP8 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x71D JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 PUSH2 0x90A PUSH1 0xA PUSH2 0x18E7 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x746 PUSH1 0x8 DUP4 PUSH2 0x18F1 JUMP JUMPDEST PUSH2 0xF73 PUSH23 0x496E7374616E63654F70657261746F7253657276696365 PUSH1 0x48 SHL PUSH2 0x1460 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND CALLER PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND EQ PUSH2 0xFA3 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x453 SWAP1 PUSH2 0x20A4 JUMP JUMPDEST PUSH2 0xFAE DUP2 PUSH1 0x3 PUSH2 0x184D JUMP JUMPDEST PUSH1 0x0 PUSH2 0xFB9 DUP3 PUSH2 0xB99 JUMP JUMPDEST SWAP1 POP PUSH2 0xFC4 DUP3 PUSH2 0x9DA JUMP JUMPDEST ISZERO PUSH2 0x1067 JUMPI DUP1 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH4 0x637D08F4 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 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x1002 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x1016 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 0x103A SWAP2 SWAP1 PUSH2 0x1F91 JUMP JUMPDEST PUSH1 0x0 DUP4 DUP2 MSTORE PUSH1 0xD PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 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 JUMPDEST PUSH1 0x40 MLOAD DUP3 DUP2 MSTORE PUSH32 0xF8D33755281AA5D41B12A70AE3947EE164EF541D786400D733B0B89DF719859E SWAP1 PUSH1 0x20 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG1 DUP1 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH4 0x1B867C63 PUSH1 0x40 MLOAD DUP2 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 PUSH1 0x0 DUP8 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x71D JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 PUSH2 0x746 PUSH1 0xA DUP4 PUSH2 0x1830 JUMP JUMPDEST PUSH1 0x0 SLOAD PUSH2 0x100 SWAP1 DIV PUSH1 0xFF AND ISZERO DUP1 DUP1 ISZERO PUSH2 0x1102 JUMPI POP PUSH1 0x0 SLOAD PUSH1 0x1 PUSH1 0xFF SWAP1 SWAP2 AND LT JUMPDEST DUP1 PUSH2 0x111C JUMPI POP ADDRESS EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x111C JUMPI POP PUSH1 0x0 SLOAD PUSH1 0xFF AND PUSH1 0x1 EQ JUMPDEST PUSH2 0x117F JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x2E PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x496E697469616C697A61626C653A20636F6E747261637420697320616C726561 PUSH1 0x44 DUP3 ADD MSTORE PUSH14 0x191E481A5B9A5D1A585B1A5E9959 PUSH1 0x92 SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH2 0x453 JUMP JUMPDEST PUSH1 0x0 DUP1 SLOAD PUSH1 0xFF NOT AND PUSH1 0x1 OR SWAP1 SSTORE DUP1 ISZERO PUSH2 0x11A2 JUMPI PUSH1 0x0 DUP1 SLOAD PUSH2 0xFF00 NOT AND PUSH2 0x100 OR SWAP1 SSTORE JUMPDEST PUSH1 0x0 DUP1 SLOAD PUSH3 0x10000 PUSH1 0x1 PUSH1 0xB0 SHL SUB NOT AND PUSH3 0x10000 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP6 AND MUL OR SWAP1 SSTORE PUSH2 0x11CC PUSH1 0x0 SWAP1 JUMP JUMPDEST PUSH6 0x416363657373 PUSH1 0xD0 SHL EQ PUSH2 0x120E JUMPI PUSH2 0x11ED PUSH6 0x416363657373 PUSH1 0xD0 SHL PUSH2 0x1460 JUMP JUMPDEST PUSH1 0x1 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 JUMPDEST PUSH2 0x1216 PUSH2 0x18FD JUMP JUMPDEST DUP1 ISZERO PUSH2 0x125C JUMPI PUSH1 0x0 DUP1 SLOAD PUSH2 0xFF00 NOT AND SWAP1 SSTORE PUSH1 0x40 MLOAD PUSH1 0x1 DUP2 MSTORE PUSH32 0x7F26B83FF96E1F2B6A682F133852F6798A09C465DA95921460CEFB3847402498 SWAP1 PUSH1 0x20 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG1 JUMPDEST POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x90A PUSH1 0x6 PUSH2 0x18E7 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1279 PUSH1 0x6 DUP4 PUSH2 0x1830 JUMP JUMPDEST ISZERO PUSH2 0x1286 JUMPI POP PUSH1 0x1 PUSH2 0x749 JUMP JUMPDEST PUSH2 0x1291 PUSH1 0x8 DUP4 PUSH2 0x1830 JUMP JUMPDEST ISZERO PUSH2 0x129E JUMPI POP PUSH1 0x0 PUSH2 0x749 JUMP JUMPDEST PUSH2 0x12A9 PUSH1 0xA DUP4 PUSH2 0x1830 JUMP JUMPDEST ISZERO PUSH2 0x12B6 JUMPI POP PUSH1 0x2 PUSH2 0x749 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x22 PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x4552524F523A4343522D3030383A494E56414C49445F434F4D504F4E454E545F PUSH1 0x44 DUP3 ADD MSTORE PUSH2 0x1251 PUSH1 0xF2 SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH2 0x453 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1314 DUP3 PUSH2 0x9DA JUMP JUMPDEST PUSH2 0x1360 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 0x4552524F523A4343522D3031313A554E4B4E4F574E5F50524F445543545F4944 PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH2 0x453 JUMP JUMPDEST POP PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0xD PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SWAP1 JUMP JUMPDEST PUSH2 0x139D PUSH21 0x436F6D706F6E656E744F776E657253657276696365 PUSH1 0x58 SHL PUSH2 0x1460 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND CALLER PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND EQ PUSH2 0x13CD JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x453 SWAP1 PUSH2 0x20EF JUMP JUMPDEST PUSH2 0x13D8 DUP2 PUSH1 0x3 PUSH2 0x184D JUMP JUMPDEST PUSH1 0x40 MLOAD DUP2 DUP2 MSTORE PUSH32 0x8E78CA4CC29C505D9901FD1582BA8584083396CE204151EDDD3E008749A24FE0 SWAP1 PUSH1 0x20 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG1 PUSH1 0x0 PUSH2 0x1416 DUP3 PUSH2 0xB99 JUMP JUMPDEST SWAP1 POP DUP1 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH4 0x59DACC6A PUSH1 0x40 MLOAD DUP2 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 PUSH1 0x0 DUP8 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x71D JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 PUSH2 0x746 PUSH1 0xA DUP4 PUSH2 0x18F1 JUMP JUMPDEST PUSH1 0x0 DUP1 SLOAD PUSH1 0x40 MLOAD PUSH4 0x1C2D8FB3 PUSH1 0xE3 SHL DUP2 MSTORE PUSH1 0x4 DUP2 ADD DUP5 SWAP1 MSTORE PUSH3 0x10000 SWAP1 SWAP2 DIV PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SWAP1 PUSH4 0xE16C7D98 SWAP1 PUSH1 0x24 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x14AA JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x14BE 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 0x14E2 SWAP2 SWAP1 PUSH2 0x1F91 JUMP JUMPDEST SWAP1 POP PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND PUSH2 0x749 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x25 PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x4552524F523A4352432D3030343A434F4E54524143545F4E4F545F5245474953 PUSH1 0x44 DUP3 ADD MSTORE PUSH5 0x1511549151 PUSH1 0xDA SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH2 0x453 JUMP JUMPDEST PUSH1 0xC DUP1 SLOAD PUSH1 0x0 SWAP2 DUP3 PUSH2 0x1559 DUP4 PUSH2 0x2161 JUMP JUMPDEST SWAP2 SWAP1 POP SSTORE POP PUSH1 0xC SLOAD SWAP1 POP PUSH2 0x156E DUP2 PUSH1 0x1 PUSH2 0x184D JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH4 0xD0E0BA95 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 DUP2 ADD DUP3 SWAP1 MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP4 AND SWAP1 PUSH4 0xD0E0BA95 SWAP1 PUSH1 0x24 ADD PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 PUSH1 0x0 DUP8 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x15B0 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS CALL ISZERO DUP1 ISZERO PUSH2 0x15C4 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP PUSH1 0x0 DUP3 DUP2 MSTORE PUSH1 0x2 PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 DUP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB NOT AND PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP9 AND SWAP1 DUP2 OR SWAP1 SWAP2 SSTORE DUP2 MLOAD PUSH4 0x5F5F79F PUSH1 0xE2 SHL DUP2 MSTORE SWAP2 MLOAD DUP7 SWAP6 POP PUSH1 0x3 SWAP5 SWAP4 SWAP2 SWAP3 PUSH4 0x17D7DE7C SWAP3 PUSH1 0x4 DUP1 DUP4 ADD SWAP4 SWAP2 SWAP3 DUP3 SWAP1 SUB ADD DUP2 DUP7 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x162D JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x1641 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 0x1665 SWAP2 SWAP1 PUSH2 0x1FCD JUMP JUMPDEST DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 DUP2 SWAP1 SSTORE POP DUP1 PUSH1 0x4 PUSH1 0x0 DUP5 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 DUP2 SWAP1 SSTORE POP DUP2 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH4 0xE0815F0D 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 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x16DA JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x16EE 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 0x1712 SWAP2 SWAP1 PUSH2 0x1FAD JUMP JUMPDEST ISZERO PUSH2 0x1728 JUMPI PUSH2 0x1722 PUSH1 0x6 DUP3 PUSH2 0x196A JUMP JUMPDEST POP PUSH2 0x749 JUMP JUMPDEST DUP2 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH4 0x9A82F890 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 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x1761 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x1775 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 0x1799 SWAP2 SWAP1 PUSH2 0x1FAD JUMP JUMPDEST ISZERO PUSH2 0x17A9 JUMPI PUSH2 0x1722 PUSH1 0x8 DUP3 PUSH2 0x196A JUMP JUMPDEST DUP2 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH4 0x258D560C 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 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x17E2 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x17F6 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 0x181A SWAP2 SWAP1 PUSH2 0x1FAD JUMP JUMPDEST ISZERO PUSH2 0x749 JUMPI PUSH2 0x182A PUSH1 0xA DUP3 PUSH2 0x196A JUMP JUMPDEST POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP2 DUP2 MSTORE PUSH1 0x1 DUP4 ADD PUSH1 0x20 MSTORE PUSH1 0x40 DUP2 KECCAK256 SLOAD ISZERO ISZERO JUMPDEST SWAP1 POP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP3 DUP2 MSTORE PUSH1 0x5 PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SLOAD PUSH1 0xFF AND PUSH2 0x1869 DUP2 DUP4 PUSH2 0x1976 JUMP JUMPDEST PUSH1 0x0 DUP4 DUP2 MSTORE PUSH1 0x5 PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 DUP1 SLOAD DUP4 SWAP2 SWAP1 PUSH1 0xFF NOT AND PUSH1 0x1 DUP4 PUSH1 0x6 DUP2 GT ISZERO PUSH2 0x18A2 JUMPI PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x21 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST MUL OR SWAP1 SSTORE POP PUSH32 0xD2248D3E400F6333D5DE6D43446115557CB942E75002AA7AD26F9CAC9B105B1A DUP4 DUP3 DUP5 PUSH1 0x40 MLOAD PUSH2 0x18DA SWAP4 SWAP3 SWAP2 SWAP1 PUSH2 0x2138 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG1 POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x746 DUP3 SLOAD SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1844 DUP4 DUP4 PUSH2 0x1EE7 JUMP JUMPDEST PUSH1 0x0 SLOAD PUSH2 0x100 SWAP1 DIV PUSH1 0xFF AND PUSH2 0x1968 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x2B PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x496E697469616C697A61626C653A20636F6E7472616374206973206E6F742069 PUSH1 0x44 DUP3 ADD MSTORE PUSH11 0x6E697469616C697A696E67 PUSH1 0xA8 SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH2 0x453 JUMP JUMPDEST JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1844 DUP4 DUP4 PUSH2 0x1F1F JUMP JUMPDEST DUP2 PUSH1 0x6 DUP2 GT ISZERO PUSH2 0x1996 JUMPI PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x21 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST DUP2 PUSH1 0x6 DUP2 GT ISZERO PUSH2 0x19B6 JUMPI PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x21 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST EQ ISZERO PUSH2 0x1A1C JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x2F PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x4552524F523A4343522D3032303A534F555243455F414E445F5441524745545F PUSH1 0x44 DUP3 ADD MSTORE PUSH15 0x14D510551157D2511153951250D053 PUSH1 0x8A SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH2 0x453 JUMP JUMPDEST PUSH1 0x0 DUP3 PUSH1 0x6 DUP2 GT ISZERO PUSH2 0x1A3E JUMPI PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x21 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST EQ ISZERO PUSH2 0x1AC9 JUMPI PUSH1 0x1 DUP2 PUSH1 0x6 DUP2 GT ISZERO PUSH2 0x1A66 JUMPI PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x21 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST EQ PUSH2 0x1AC4 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x28 PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x4552524F523A4343522D3032313A435245415445445F494E56414C49445F5452 PUSH1 0x44 DUP3 ADD MSTORE PUSH8 0x20A729A4AA24A7A7 PUSH1 0xC1 SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH2 0x453 JUMP JUMPDEST PUSH2 0x125C JUMP JUMPDEST PUSH1 0x1 DUP3 PUSH1 0x6 DUP2 GT ISZERO PUSH2 0x1AEB JUMPI PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x21 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST EQ ISZERO PUSH2 0x1B9B JUMPI PUSH1 0x3 DUP2 PUSH1 0x6 DUP2 GT ISZERO PUSH2 0x1B13 JUMPI PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x21 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST EQ DUP1 PUSH2 0x1B3E JUMPI POP PUSH1 0x2 DUP2 PUSH1 0x6 DUP2 GT ISZERO PUSH2 0x1B3C JUMPI PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x21 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST EQ JUMPDEST PUSH2 0x1AC4 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x28 PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x4552524F523A4343522D32323A50524F504F5345445F494E56414C49445F5452 PUSH1 0x44 DUP3 ADD MSTORE PUSH8 0x20A729A4AA24A7A7 PUSH1 0xC1 SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH2 0x453 JUMP JUMPDEST PUSH1 0x2 DUP3 PUSH1 0x6 DUP2 GT ISZERO PUSH2 0x1BBD JUMPI PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x21 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST EQ ISZERO PUSH2 0x1C19 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x25 PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x4552524F523A4343522D3032333A4445434C494E45445F49535F46494E414C5F PUSH1 0x44 DUP3 ADD MSTORE PUSH5 0x5354415445 PUSH1 0xD8 SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH2 0x453 JUMP JUMPDEST PUSH1 0x3 DUP3 PUSH1 0x6 DUP2 GT ISZERO PUSH2 0x1C3B JUMPI PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x21 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST EQ ISZERO PUSH2 0x1CEA JUMPI PUSH1 0x4 DUP2 PUSH1 0x6 DUP2 GT ISZERO PUSH2 0x1C63 JUMPI PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x21 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST EQ DUP1 PUSH2 0x1C8E JUMPI POP PUSH1 0x5 DUP2 PUSH1 0x6 DUP2 GT ISZERO PUSH2 0x1C8C JUMPI PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x21 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST EQ JUMPDEST PUSH2 0x1AC4 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x27 PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x4552524F523A4343522D3032343A4143544956455F494E56414C49445F545241 PUSH1 0x44 DUP3 ADD MSTORE PUSH7 0x2729A4AA24A7A7 PUSH1 0xC9 SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH2 0x453 JUMP JUMPDEST PUSH1 0x4 DUP3 PUSH1 0x6 DUP2 GT ISZERO PUSH2 0x1D0C JUMPI PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x21 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST EQ ISZERO PUSH2 0x1DBB JUMPI PUSH1 0x3 DUP2 PUSH1 0x6 DUP2 GT ISZERO PUSH2 0x1D34 JUMPI PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x21 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST EQ DUP1 PUSH2 0x1D5F JUMPI POP PUSH1 0x6 DUP2 PUSH1 0x6 DUP2 GT ISZERO PUSH2 0x1D5D JUMPI PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x21 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST EQ JUMPDEST PUSH2 0x1AC4 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x27 PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x4552524F523A4343522D3032353A5041555345445F494E56414C49445F545241 PUSH1 0x44 DUP3 ADD MSTORE PUSH7 0x2729A4AA24A7A7 PUSH1 0xC9 SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH2 0x453 JUMP JUMPDEST PUSH1 0x5 DUP3 PUSH1 0x6 DUP2 GT ISZERO PUSH2 0x1DDD JUMPI PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x21 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST EQ ISZERO PUSH2 0x1E8F JUMPI PUSH1 0x3 DUP2 PUSH1 0x6 DUP2 GT ISZERO PUSH2 0x1E05 JUMPI PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x21 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST EQ DUP1 PUSH2 0x1E30 JUMPI POP PUSH1 0x6 DUP2 PUSH1 0x6 DUP2 GT ISZERO PUSH2 0x1E2E JUMPI PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x21 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST EQ JUMPDEST PUSH2 0x1AC4 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x2A PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x4552524F523A4343522D3032363A53555350454E4445445F494E56414C49445F PUSH1 0x44 DUP3 ADD MSTORE PUSH10 0x2A2920A729A4AA24A7A7 PUSH1 0xB1 SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH2 0x453 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x27 PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x4552524F523A4343522D3032373A494E495449414C5F53544154455F4E4F545F PUSH1 0x44 DUP3 ADD MSTORE PUSH7 0x12105391131151 PUSH1 0xCA SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH2 0x453 JUMP JUMPDEST PUSH1 0x0 DUP3 PUSH1 0x0 ADD DUP3 DUP2 SLOAD DUP2 LT PUSH2 0x1F0C JUMPI PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x32 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 ADD SLOAD SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 DUP2 MSTORE PUSH1 0x1 DUP4 ADD PUSH1 0x20 MSTORE PUSH1 0x40 DUP2 KECCAK256 SLOAD PUSH2 0x1F66 JUMPI POP DUP2 SLOAD PUSH1 0x1 DUP2 DUP2 ADD DUP5 SSTORE PUSH1 0x0 DUP5 DUP2 MSTORE PUSH1 0x20 DUP1 DUP3 KECCAK256 SWAP1 SWAP4 ADD DUP5 SWAP1 SSTORE DUP5 SLOAD DUP5 DUP3 MSTORE DUP3 DUP7 ADD SWAP1 SWAP4 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SWAP2 SWAP1 SWAP2 SSTORE PUSH2 0x1847 JUMP JUMPDEST POP PUSH1 0x0 PUSH2 0x1847 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x1F7F JUMPI DUP1 DUP2 REVERT JUMPDEST DUP2 CALLDATALOAD PUSH2 0x1F8A DUP2 PUSH2 0x219E JUMP JUMPDEST SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x1FA2 JUMPI DUP1 DUP2 REVERT JUMPDEST DUP2 MLOAD PUSH2 0x1F8A DUP2 PUSH2 0x219E JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x1FBE JUMPI DUP1 DUP2 REVERT JUMPDEST DUP2 MLOAD DUP1 ISZERO ISZERO DUP2 EQ PUSH2 0x1F8A JUMPI DUP2 DUP3 REVERT JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x1FDE JUMPI DUP1 DUP2 REVERT JUMPDEST POP MLOAD SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x1FF6 JUMPI DUP1 DUP2 REVERT JUMPDEST DUP2 CALLDATALOAD PUSH2 0x1F8A DUP2 PUSH2 0x21B6 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x2012 JUMPI DUP1 DUP2 REVERT JUMPDEST DUP2 MLOAD PUSH2 0x1F8A DUP2 PUSH2 0x21B6 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x202E JUMPI DUP1 DUP2 REVERT JUMPDEST POP CALLDATALOAD SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x7 DUP2 LT PUSH2 0x2045 JUMPI PUSH2 0x2045 PUSH2 0x2188 JUMP JUMPDEST SWAP1 MSTORE JUMP JUMPDEST PUSH1 0x3 DUP2 LT PUSH2 0x2045 JUMPI PUSH2 0x2045 PUSH2 0x2188 JUMP JUMPDEST DUP5 DUP2 MSTORE PUSH1 0x80 DUP2 ADD PUSH2 0x206D PUSH1 0x20 DUP4 ADD DUP7 PUSH2 0x2049 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP4 SWAP1 SWAP4 AND PUSH1 0x40 DUP3 ADD MSTORE PUSH1 0x60 ADD MSTORE SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x20 DUP2 ADD PUSH2 0x1847 DUP3 DUP5 PUSH2 0x2035 JUMP JUMPDEST PUSH1 0x20 DUP2 ADD PUSH2 0x1847 DUP3 DUP5 PUSH2 0x2049 JUMP JUMPDEST PUSH1 0x20 DUP1 DUP3 MSTORE PUSH1 0x2B SWAP1 DUP3 ADD MSTORE PUSH32 0x4552524F523A4343522D3030323A4E4F545F494E5354414E43455F4F50455241 PUSH1 0x40 DUP3 ADD MSTORE PUSH11 0x544F525F53455256494345 PUSH1 0xA8 SHL PUSH1 0x60 DUP3 ADD MSTORE PUSH1 0x80 ADD SWAP1 JUMP JUMPDEST PUSH1 0x20 DUP1 DUP3 MSTORE PUSH1 0x29 SWAP1 DUP3 ADD MSTORE PUSH32 0x4552524F523A4343522D3030313A4E4F545F434F4D504F4E454E545F4F574E45 PUSH1 0x40 DUP3 ADD MSTORE PUSH9 0x525F53455256494345 PUSH1 0xB8 SHL PUSH1 0x60 DUP3 ADD MSTORE PUSH1 0x80 ADD SWAP1 JUMP JUMPDEST DUP4 DUP2 MSTORE PUSH1 0x60 DUP2 ADD PUSH2 0x214C PUSH1 0x20 DUP4 ADD DUP6 PUSH2 0x2035 JUMP JUMPDEST PUSH2 0x2159 PUSH1 0x40 DUP4 ADD DUP5 PUSH2 0x2035 JUMP JUMPDEST SWAP5 SWAP4 POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x0 NOT DUP3 EQ ISZERO PUSH2 0x2181 JUMPI PUSH4 0x4E487B71 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x11 PUSH1 0x4 MSTORE PUSH1 0x24 DUP2 REVERT JUMPDEST POP PUSH1 0x1 ADD SWAP1 JUMP JUMPDEST PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x21 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND DUP2 EQ PUSH2 0x21B3 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH1 0x3 DUP2 LT PUSH2 0x21B3 JUMPI PUSH1 0x0 DUP1 REVERT INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 AND 0xC3 PUSH19 0x34CC3A3BA7574E86D0A5B5F33D0C802C949C5A 0xEB DUP1 0xB7 0x5E DUP3 SWAP15 CALLDATALOAD GASLIMIT PUSH8 0xF364736F6C634300 ADDMOD MUL STOP CALLER ",
  "pcMap": {
    "0": {
      "offset": [
        516,
        11454
      ],
      "op": "PUSH1",
      "path": "75",
      "value": "0x80"
    },
    "2": {
      "fn": null,
      "offset": [
        516,
        11454
      ],
      "op": "PUSH1",
      "path": "75",
      "value": "0x40"
    },
    "4": {
      "fn": null,
      "offset": [
        516,
        11454
      ],
      "op": "MSTORE",
      "path": "75"
    },
    "5": {
      "fn": null,
      "offset": [
        516,
        11454
      ],
      "op": "CALLVALUE",
      "path": "75"
    },
    "6": {
      "fn": null,
      "offset": [
        516,
        11454
      ],
      "op": "DUP1",
      "path": "75"
    },
    "7": {
      "fn": null,
      "offset": [
        516,
        11454
      ],
      "op": "ISZERO",
      "path": "75"
    },
    "8": {
      "fn": null,
      "offset": [
        516,
        11454
      ],
      "op": "PUSH2",
      "path": "75",
      "value": "0x10"
    },
    "11": {
      "fn": null,
      "offset": [
        516,
        11454
      ],
      "op": "JUMPI",
      "path": "75"
    },
    "12": {
      "fn": null,
      "offset": [
        516,
        11454
      ],
      "op": "PUSH1",
      "path": "75",
      "value": "0x0"
    },
    "14": {
      "fn": null,
      "offset": [
        516,
        11454
      ],
      "op": "DUP1",
      "path": "75"
    },
    "15": {
      "dev": "Cannot send ether to nonpayable function",
      "fn": null,
      "offset": [
        516,
        11454
      ],
      "op": "REVERT",
      "path": "75"
    },
    "16": {
      "fn": null,
      "offset": [
        516,
        11454
      ],
      "op": "JUMPDEST",
      "path": "75"
    },
    "17": {
      "fn": null,
      "offset": [
        516,
        11454
      ],
      "op": "POP",
      "path": "75"
    },
    "18": {
      "fn": null,
      "offset": [
        516,
        11454
      ],
      "op": "PUSH1",
      "path": "75",
      "value": "0x4"
    },
    "20": {
      "fn": null,
      "offset": [
        516,
        11454
      ],
      "op": "CALLDATASIZE",
      "path": "75"
    },
    "21": {
      "fn": null,
      "offset": [
        516,
        11454
      ],
      "op": "LT",
      "path": "75"
    },
    "22": {
      "fn": null,
      "offset": [
        516,
        11454
      ],
      "op": "PUSH2",
      "path": "75",
      "value": "0x1A9"
    },
    "25": {
      "fn": null,
      "offset": [
        516,
        11454
      ],
      "op": "JUMPI",
      "path": "75"
    },
    "26": {
      "fn": null,
      "offset": [
        516,
        11454
      ],
      "op": "PUSH1",
      "path": "75",
      "value": "0x0"
    },
    "28": {
      "fn": null,
      "offset": [
        516,
        11454
      ],
      "op": "CALLDATALOAD",
      "path": "75"
    },
    "29": {
      "fn": null,
      "offset": [
        516,
        11454
      ],
      "op": "PUSH1",
      "path": "75",
      "value": "0xE0"
    },
    "31": {
      "fn": null,
      "offset": [
        516,
        11454
      ],
      "op": "SHR",
      "path": "75"
    },
    "32": {
      "fn": null,
      "offset": [
        516,
        11454
      ],
      "op": "DUP1",
      "path": "75"
    },
    "33": {
      "fn": null,
      "offset": [
        516,
        11454
      ],
      "op": "PUSH4",
      "path": "75",
      "value": "0x6BC607B3"
    },
    "38": {
      "fn": null,
      "offset": [
        516,
        11454
      ],
      "op": "GT",
      "path": "75"
    },
    "39": {
      "fn": null,
      "offset": [
        516,
        11454
      ],
      "op": "PUSH2",
      "path": "75",
      "value": "0xF9"
    },
    "42": {
      "fn": null,
      "offset": [
        516,
        11454
      ],
      "op": "JUMPI",
      "path": "75"
    },
    "43": {
      "fn": null,
      "offset": [
        516,
        11454
      ],
      "op": "DUP1",
      "path": "75"
    },
    "44": {
      "fn": null,
      "offset": [
        516,
        11454
      ],
      "op": "PUSH4",
      "path": "75",
      "value": "0xBA80B8ED"
    },
    "49": {
      "fn": null,
      "offset": [
        516,
        11454
      ],
      "op": "GT",
      "path": "75"
    },
    "50": {
      "fn": null,
      "offset": [
        516,
        11454
      ],
      "op": "PUSH2",
      "path": "75",
      "value": "0x97"
    },
    "53": {
      "fn": null,
      "offset": [
        516,
        11454
      ],
      "op": "JUMPI",
      "path": "75"
    },
    "54": {
      "fn": null,
      "offset": [
        516,
        11454
      ],
      "op": "DUP1",
      "path": "75"
    },
    "55": {
      "fn": null,
      "offset": [
        516,
        11454
      ],
      "op": "PUSH4",
      "path": "75",
      "value": "0xDD51C86A"
    },
    "60": {
      "fn": null,
      "offset": [
        516,
        11454
      ],
      "op": "GT",
      "path": "75"
    },
    "61": {
      "fn": null,
      "offset": [
        516,
        11454
      ],
      "op": "PUSH2",
      "path": "75",
      "value": "0x71"
    },
    "64": {
      "fn": null,
      "offset": [
        516,
        11454
      ],
      "op": "JUMPI",
      "path": "75"
    },
    "65": {
      "fn": null,
      "offset": [
        516,
        11454
      ],
      "op": "DUP1",
      "path": "75"
    },
    "66": {
      "fn": null,
      "offset": [
        516,
        11454
      ],
      "op": "PUSH4",
      "path": "75",
      "value": "0xDD51C86A"
    },
    "71": {
      "fn": null,
      "offset": [
        516,
        11454
      ],
      "op": "EQ",
      "path": "75"
    },
    "72": {
      "fn": null,
      "offset": [
        516,
        11454
      ],
      "op": "PUSH2",
      "path": "75",
      "value": "0x3A9"
    },
    "75": {
      "fn": null,
      "offset": [
        516,
        11454
      ],
      "op": "JUMPI",
      "path": "75"
    },
    "76": {
      "fn": null,
      "offset": [
        516,
        11454
      ],
      "op": "DUP1",
      "path": "75"
    },
    "77": {
      "fn": null,
      "offset": [
        516,
        11454
      ],
      "op": "PUSH4",
      "path": "75",
      "value": "0xE61AE297"
    },
    "82": {
      "fn": null,
      "offset": [
        516,
        11454
      ],
      "op": "EQ",
      "path": "75"
    },
    "83": {
      "fn": null,
      "offset": [
        516,
        11454
      ],
      "op": "PUSH2",
      "path": "75",
      "value": "0x3C9"
    },
    "86": {
      "fn": null,
      "offset": [
        516,
        11454
      ],
      "op": "JUMPI",
      "path": "75"
    },
    "87": {
      "fn": null,
      "offset": [
        516,
        11454
      ],
      "op": "DUP1",
      "path": "75"
    },
    "88": {
      "fn": null,
      "offset": [
        516,
        11454
      ],
      "op": "PUSH4",
      "path": "75",
      "value": "0xFABC1CBC"
    },
    "93": {
      "fn": null,
      "offset": [
        516,
        11454
      ],
      "op": "EQ",
      "path": "75"
    },
    "94": {
      "fn": null,
      "offset": [
        516,
        11454
      ],
      "op": "PUSH2",
      "path": "75",
      "value": "0x3DC"
    },
    "97": {
      "fn": null,
      "offset": [
        516,
        11454
      ],
      "op": "JUMPI",
      "path": "75"
    },
    "98": {
      "fn": null,
      "offset": [
        516,
        11454
      ],
      "op": "DUP1",
      "path": "75"
    },
    "99": {
      "fn": null,
      "offset": [
        516,
        11454
      ],
      "op": "PUSH4",
      "path": "75",
      "value": "0xFF3F3883"
    },
    "104": {
      "fn": null,
      "offset": [
        516,
        11454
      ],
      "op": "EQ",
      "path": "75"
    },
    "105": {
      "fn": null,
      "offset": [
        516,
        11454
      ],
      "op": "PUSH2",
      "path": "75",
      "value": "0x3EF"
    },
    "108": {
      "fn": null,
      "offset": [
        516,
        11454
      ],
      "op": "JUMPI",
      "path": "75"
    },
    "109": {
      "fn": null,
      "offset": [
        516,
        11454
      ],
      "op": "PUSH2",
      "path": "75",
      "value": "0x1A9"
    },
    "112": {
      "fn": null,
      "offset": [
        516,
        11454
      ],
      "op": "JUMP",
      "path": "75"
    },
    "113": {
      "fn": null,
      "offset": [
        516,
        11454
      ],
      "op": "JUMPDEST",
      "path": "75"
    },
    "114": {
      "fn": null,
      "offset": [
        516,
        11454
      ],
      "op": "DUP1",
      "path": "75"
    },
    "115": {
      "fn": null,
      "offset": [
        516,
        11454
      ],
      "op": "PUSH4",
      "path": "75",
      "value": "0xBA80B8ED"
    },
    "120": {
      "fn": null,
      "offset": [
        516,
        11454
      ],
      "op": "EQ",
      "path": "75"
    },
    "121": {
      "fn": null,
      "offset": [
        516,
        11454
      ],
      "op": "PUSH2",
      "path": "75",
      "value": "0x37B"
    },
    "124": {
      "fn": null,
      "offset": [
        516,
        11454
      ],
      "op": "JUMPI",
      "path": "75"
    },
    "125": {
      "fn": null,
      "offset": [
        516,
        11454
      ],
      "op": "DUP1",
      "path": "75"
    },
    "126": {
      "fn": null,
      "offset": [
        516,
        11454
      ],
      "op": "PUSH4",
      "path": "75",
      "value": "0xC4D66DE8"
    },
    "131": {
      "fn": null,
      "offset": [
        516,
        11454
      ],
      "op": "EQ",
      "path": "75"
    },
    "132": {
      "fn": null,
      "offset": [
        516,
        11454
      ],
      "op": "PUSH2",
      "path": "75",
      "value": "0x38E"
    },
    "135": {
      "fn": null,
      "offset": [
        516,
        11454
      ],
      "op": "JUMPI",
      "path": "75"
    },
    "136": {
      "fn": null,
      "offset": [
        516,
        11454
      ],
      "op": "DUP1",
      "path": "75"
    },
    "137": {
      "fn": null,
      "offset": [
        516,
        11454
      ],
      "op": "PUSH4",
      "path": "75",
      "value": "0xC71E261F"
    },
    "142": {
      "fn": null,
      "offset": [
        516,
        11454
      ],
      "op": "EQ",
      "path": "75"
    },
    "143": {
      "fn": null,
      "offset": [
        516,
        11454
      ],
      "op": "PUSH2",
      "path": "75",
      "value": "0x3A1"
    },
    "146": {
      "fn": null,
      "offset": [
        516,
        11454
      ],
      "op": "JUMPI",
      "path": "75"
    },
    "147": {
      "fn": null,
      "offset": [
        516,
        11454
      ],
      "op": "PUSH2",
      "path": "75",
      "value": "0x1A9"
    },
    "150": {
      "fn": null,
      "offset": [
        516,
        11454
      ],
      "op": "JUMP",
      "path": "75"
    },
    "151": {
      "fn": null,
      "offset": [
        516,
        11454
      ],
      "op": "JUMPDEST",
      "path": "75"
    },
    "152": {
      "fn": null,
      "offset": [
        516,
        11454
      ],
      "op": "DUP1",
      "path": "75"
    },
    "153": {
      "fn": null,
      "offset": [
        516,
        11454
      ],
      "op": "PUSH4",
      "path": "75",
      "value": "0xA054381F"
    },
    "158": {
      "fn": null,
      "offset": [
        516,
        11454
      ],
      "op": "GT",
      "path": "75"
    },
    "159": {
      "fn": null,
      "offset": [
        516,
        11454
      ],
      "op": "PUSH2",
      "path": "75",
      "value": "0xD3"
    },
    "162": {
      "fn": null,
      "offset": [
        516,
        11454
      ],
      "op": "JUMPI",
      "path": "75"
    },
    "163": {
      "fn": null,
      "offset": [
        516,
        11454
      ],
      "op": "DUP1",
      "path": "75"
    },
    "164": {
      "fn": null,
      "offset": [
        516,
        11454
      ],
      "op": "PUSH4",
      "path": "75",
      "value": "0xA054381F"
    },
    "169": {
      "fn": null,
      "offset": [
        516,
        11454
      ],
      "op": "EQ",
      "path": "75"
    },
    "170": {
      "fn": null,
      "offset": [
        516,
        11454
      ],
      "op": "PUSH2",
      "path": "75",
      "value": "0x345"
    },
    "173": {
      "fn": null,
      "offset": [
        516,
        11454
      ],
      "op": "JUMPI",
      "path": "75"
    },
    "174": {
      "fn": null,
      "offset": [
        516,
        11454
      ],
      "op": "DUP1",
      "path": "75"
    },
    "175": {
      "fn": null,
      "offset": [
        516,
        11454
      ],
      "op": "PUSH4",
      "path": "75",
      "value": "0xA5C0F5A1"
    },
    "180": {
      "fn": null,
      "offset": [
        516,
        11454
      ],
      "op": "EQ",
      "path": "75"
    },
    "181": {
      "fn": null,
      "offset": [
        516,
        11454
      ],
      "op": "PUSH2",
      "path": "75",
      "value": "0x34D"
    },
    "184": {
      "fn": null,
      "offset": [
        516,
        11454
      ],
      "op": "JUMPI",
      "path": "75"
    },
    "185": {
      "fn": null,
      "offset": [
        516,
        11454
      ],
      "op": "DUP1",
      "path": "75"
    },
    "186": {
      "fn": null,
      "offset": [
        516,
        11454
      ],
      "op": "PUSH4",
      "path": "75",
      "value": "0xB759F954"
    },
    "191": {
      "fn": null,
      "offset": [
        516,
        11454
      ],
      "op": "EQ",
      "path": "75"
    },
    "192": {
      "fn": null,
      "offset": [
        516,
        11454
      ],
      "op": "PUSH2",
      "path": "75",
      "value": "0x360"
    },
    "195": {
      "fn": null,
      "offset": [
        516,
        11454
      ],
      "op": "JUMPI",
      "path": "75"
    },
    "196": {
      "fn": null,
      "offset": [
        516,
        11454
      ],
      "op": "DUP1",
      "path": "75"
    },
    "197": {
      "fn": null,
      "offset": [
        516,
        11454
      ],
      "op": "PUSH4",
      "path": "75",
      "value": "0xBA62FBE4"
    },
    "202": {
      "fn": null,
      "offset": [
        516,
        11454
      ],
      "op": "EQ",
      "path": "75"
    },
    "203": {
      "fn": null,
      "offset": [
        516,
        11454
      ],
      "op": "PUSH2",
      "path": "75",
      "value": "0x373"
    },
    "206": {
      "fn": null,
      "offset": [
        516,
        11454
      ],
      "op": "JUMPI",
      "path": "75"
    },
    "207": {
      "fn": null,
      "offset": [
        516,
        11454
      ],
      "op": "PUSH2",
      "path": "75",
      "value": "0x1A9"
    },
    "210": {
      "fn": null,
      "offset": [
        516,
        11454
      ],
      "op": "JUMP",
      "path": "75"
    },
    "211": {
      "fn": null,
      "offset": [
        516,
        11454
      ],
      "op": "JUMPDEST",
      "path": "75"
    },
    "212": {
      "fn": null,
      "offset": [
        516,
        11454
      ],
      "op": "DUP1",
      "path": "75"
    },
    "213": {
      "fn": null,
      "offset": [
        516,
        11454
      ],
      "op": "PUSH4",
      "path": "75",
      "value": "0x6BC607B3"
    },
    "218": {
      "fn": null,
      "offset": [
        516,
        11454
      ],
      "op": "EQ",
      "path": "75"
    },
    "219": {
      "fn": null,
      "offset": [
        516,
        11454
      ],
      "op": "PUSH2",
      "path": "75",
      "value": "0x30C"
    },
    "222": {
      "fn": null,
      "offset": [
        516,
        11454
      ],
      "op": "JUMPI",
      "path": "75"
    },
    "223": {
      "fn": null,
      "offset": [
        516,
        11454
      ],
      "op": "DUP1",
      "path": "75"
    },
    "224": {
      "fn": null,
      "offset": [
        516,
        11454
      ],
      "op": "PUSH4",
      "path": "75",
      "value": "0x9F77A605"
    },
    "229": {
      "fn": null,
      "offset": [
        516,
        11454
      ],
      "op": "EQ",
      "path": "75"
    },
    "230": {
      "fn": null,
      "offset": [
        516,
        11454
      ],
      "op": "PUSH2",
      "path": "75",
      "value": "0x31F"
    },
    "233": {
      "fn": null,
      "offset": [
        516,
        11454
      ],
      "op": "JUMPI",
      "path": "75"
    },
    "234": {
      "fn": null,
      "offset": [
        516,
        11454
      ],
      "op": "DUP1",
      "path": "75"
    },
    "235": {
      "fn": null,
      "offset": [
        516,
        11454
      ],
      "op": "PUSH4",
      "path": "75",
      "value": "0xA0355F4E"
    },
    "240": {
      "fn": null,
      "offset": [
        516,
        11454
      ],
      "op": "EQ",
      "path": "75"
    },
    "241": {
      "fn": null,
      "offset": [
        516,
        11454
      ],
      "op": "PUSH2",
      "path": "75",
      "value": "0x332"
    },
    "244": {
      "fn": null,
      "offset": [
        516,
        11454
      ],
      "op": "JUMPI",
      "path": "75"
    },
    "245": {
      "fn": null,
      "offset": [
        516,
        11454
      ],
      "op": "PUSH2",
      "path": "75",
      "value": "0x1A9"
    },
    "248": {
      "fn": null,
      "offset": [
        516,
        11454
      ],
      "op": "JUMP",
      "path": "75"
    },
    "249": {
      "fn": null,
      "offset": [
        516,
        11454
      ],
      "op": "JUMPDEST",
      "path": "75"
    },
    "250": {
      "fn": null,
      "offset": [
        516,
        11454
      ],
      "op": "DUP1",
      "path": "75"
    },
    "251": {
      "fn": null,
      "offset": [
        516,
        11454
      ],
      "op": "PUSH4",
      "path": "75",
      "value": "0x3920200C"
    },
    "256": {
      "fn": null,
      "offset": [
        516,
        11454
      ],
      "op": "GT",
      "path": "75"
    },
    "257": {
      "fn": null,
      "offset": [
        516,
        11454
      ],
      "op": "PUSH2",
      "path": "75",
      "value": "0x166"
    },
    "260": {
      "fn": null,
      "offset": [
        516,
        11454
      ],
      "op": "JUMPI",
      "path": "75"
    },
    "261": {
      "fn": null,
      "offset": [
        516,
        11454
      ],
      "op": "DUP1",
      "path": "75"
    },
    "262": {
      "fn": null,
      "offset": [
        516,
        11454
      ],
      "op": "PUSH4",
      "path": "75",
      "value": "0x4F27DA18"
    },
    "267": {
      "fn": null,
      "offset": [
        516,
        11454
      ],
      "op": "GT",
      "path": "75"
    },
    "268": {
      "fn": null,
      "offset": [
        516,
        11454
      ],
      "op": "PUSH2",
      "path": "75",
      "value": "0x140"
    },
    "271": {
      "fn": null,
      "offset": [
        516,
        11454
      ],
      "op": "JUMPI",
      "path": "75"
    },
    "272": {
      "fn": null,
      "offset": [
        516,
        11454
      ],
      "op": "DUP1",
      "path": "75"
    },
    "273": {
      "fn": null,
      "offset": [
        516,
        11454
      ],
      "op": "PUSH4",
      "path": "75",
      "value": "0x4F27DA18"
    },
    "278": {
      "fn": null,
      "offset": [
        516,
        11454
      ],
      "op": "EQ",
      "path": "75"
    },
    "279": {
      "fn": null,
      "offset": [
        516,
        11454
      ],
      "op": "PUSH2",
      "path": "75",
      "value": "0x273"
    },
    "282": {
      "fn": null,
      "offset": [
        516,
        11454
      ],
      "op": "JUMPI",
      "path": "75"
    },
    "283": {
      "fn": null,
      "offset": [
        516,
        11454
      ],
      "op": "DUP1",
      "path": "75"
    },
    "284": {
      "fn": null,
      "offset": [
        516,
        11454
      ],
      "op": "PUSH4",
      "path": "75",
      "value": "0x4F558E79"
    },
    "289": {
      "fn": null,
      "offset": [
        516,
        11454
      ],
      "op": "EQ",
      "path": "75"
    },
    "290": {
      "fn": null,
      "offset": [
        516,
        11454
      ],
      "op": "PUSH2",
      "path": "75",
      "value": "0x29E"
    },
    "293": {
      "fn": null,
      "offset": [
        516,
        11454
      ],
      "op": "JUMPI",
      "path": "75"
    },
    "294": {
      "fn": null,
      "offset": [
        516,
        11454
      ],
      "op": "DUP1",
      "path": "75"
    },
    "295": {
      "fn": null,
      "offset": [
        516,
        11454
      ],
      "op": "PUSH4",
      "path": "75",
      "value": "0x5AF89A47"
    },
    "300": {
      "fn": null,
      "offset": [
        516,
        11454
      ],
      "op": "EQ",
      "path": "75"
    },
    "301": {
      "fn": null,
      "offset": [
        516,
        11454
      ],
      "op": "PUSH2",
      "path": "75",
      "value": "0x2C9"
    },
    "304": {
      "fn": null,
      "offset": [
        516,
        11454
      ],
      "op": "JUMPI",
      "path": "75"
    },
    "305": {
      "fn": null,
      "offset": [
        516,
        11454
      ],
      "op": "DUP1",
      "path": "75"
    },
    "306": {
      "fn": null,
      "offset": [
        516,
        11454
      ],
      "op": "PUSH4",
      "path": "75",
      "value": "0x5E966E45"
    },
    "311": {
      "fn": null,
      "offset": [
        516,
        11454
      ],
      "op": "EQ",
      "path": "75"
    },
    "312": {
      "fn": null,
      "offset": [
        516,
        11454
      ],
      "op": "PUSH2",
      "path": "75",
      "value": "0x2DC"
    },
    "315": {
      "fn": null,
      "offset": [
        516,
        11454
      ],
      "op": "JUMPI",
      "path": "75"
    },
    "316": {
      "fn": null,
      "offset": [
        516,
        11454
      ],
      "op": "PUSH2",
      "path": "75",
      "value": "0x1A9"
    },
    "319": {
      "fn": null,
      "offset": [
        516,
        11454
      ],
      "op": "JUMP",
      "path": "75"
    },
    "320": {
      "fn": null,
      "offset": [
        516,
        11454
      ],
      "op": "JUMPDEST",
      "path": "75"
    },
    "321": {
      "fn": null,
      "offset": [
        516,
        11454
      ],
      "op": "DUP1",
      "path": "75"
    },
    "322": {
      "fn": null,
      "offset": [
        516,
        11454
      ],
      "op": "PUSH4",
      "path": "75",
      "value": "0x3920200C"
    },
    "327": {
      "fn": null,
      "offset": [
        516,
        11454
      ],
      "op": "EQ",
      "path": "75"
    },
    "328": {
      "fn": null,
      "offset": [
        516,
        11454
      ],
      "op": "PUSH2",
      "path": "75",
      "value": "0x23A"
    },
    "331": {
      "fn": null,
      "offset": [
        516,
        11454
      ],
      "op": "JUMPI",
      "path": "75"
    },
    "332": {
      "fn": null,
      "offset": [
        516,
        11454
      ],
      "op": "DUP1",
      "path": "75"
    },
    "333": {
      "fn": null,
      "offset": [
        516,
        11454
      ],
      "op": "PUSH4",
      "path": "75",
      "value": "0x414000B5"
    },
    "338": {
      "fn": null,
      "offset": [
        516,
        11454
      ],
      "op": "EQ",
      "path": "75"
    },
    "339": {
      "fn": null,
      "offset": [
        516,
        11454
      ],
      "op": "PUSH2",
      "path": "75",
      "value": "0x24D"
    },
    "342": {
      "fn": null,
      "offset": [
        516,
        11454
      ],
      "op": "JUMPI",
      "path": "75"
    },
    "343": {
      "fn": null,
      "offset": [
        516,
        11454
      ],
      "op": "DUP1",
      "path": "75"
    },
    "344": {
      "fn": null,
      "offset": [
        516,
        11454
      ],
      "op": "PUSH4",
      "path": "75",
      "value": "0x4B865846"
    },
    "349": {
      "fn": null,
      "offset": [
        516,
        11454
      ],
      "op": "EQ",
      "path": "75"
    },
    "350": {
      "fn": null,
      "offset": [
        516,
        11454
      ],
      "op": "PUSH2",
      "path": "75",
      "value": "0x260"
    },
    "353": {
      "fn": null,
      "offset": [
        516,
        11454
      ],
      "op": "JUMPI",
      "path": "75"
    },
    "354": {
      "fn": null,
      "offset": [
        516,
        11454
      ],
      "op": "PUSH2",
      "path": "75",
      "value": "0x1A9"
    },
    "357": {
      "fn": null,
      "offset": [
        516,
        11454
      ],
      "op": "JUMP",
      "path": "75"
    },
    "358": {
      "fn": null,
      "offset": [
        516,
        11454
      ],
      "op": "JUMPDEST",
      "path": "75"
    },
    "359": {
      "fn": null,
      "offset": [
        516,
        11454
      ],
      "op": "DUP1",
      "path": "75"
    },
    "360": {
      "fn": null,
      "offset": [
        516,
        11454
      ],
      "op": "PUSH4",
      "path": "75",
      "value": "0x1267951"
    },
    "365": {
      "fn": null,
      "offset": [
        516,
        11454
      ],
      "op": "EQ",
      "path": "75"
    },
    "366": {
      "fn": null,
      "offset": [
        516,
        11454
      ],
      "op": "PUSH2",
      "path": "75",
      "value": "0x1AE"
    },
    "369": {
      "fn": null,
      "offset": [
        516,
        11454
      ],
      "op": "JUMPI",
      "path": "75"
    },
    "370": {
      "fn": null,
      "offset": [
        516,
        11454
      ],
      "op": "DUP1",
      "path": "75"
    },
    "371": {
      "fn": null,
      "offset": [
        516,
        11454
      ],
      "op": "PUSH4",
      "path": "75",
      "value": "0x9F63ED9"
    },
    "376": {
      "fn": null,
      "offset": [
        516,
        11454
      ],
      "op": "EQ",
      "path": "75"
    },
    "377": {
      "fn": null,
      "offset": [
        516,
        11454
      ],
      "op": "PUSH2",
      "path": "75",
      "value": "0x1C3"
    },
    "380": {
      "fn": null,
      "offset": [
        516,
        11454
      ],
      "op": "JUMPI",
      "path": "75"
    },
    "381": {
      "fn": null,
      "offset": [
        516,
        11454
      ],
      "op": "DUP1",
      "path": "75"
    },
    "382": {
      "fn": null,
      "offset": [
        516,
        11454
      ],
      "op": "PUSH4",
      "path": "75",
      "value": "0xF5DA3A6"
    },
    "387": {
      "fn": null,
      "offset": [
        516,
        11454
      ],
      "op": "EQ",
      "path": "75"
    },
    "388": {
      "fn": null,
      "offset": [
        516,
        11454
      ],
      "op": "PUSH2",
      "path": "75",
      "value": "0x1EB"
    },
    "391": {
      "fn": null,
      "offset": [
        516,
        11454
      ],
      "op": "JUMPI",
      "path": "75"
    },
    "392": {
      "fn": null,
      "offset": [
        516,
        11454
      ],
      "op": "DUP1",
      "path": "75"
    },
    "393": {
      "fn": null,
      "offset": [
        516,
        11454
      ],
      "op": "PUSH4",
      "path": "75",
      "value": "0x136439DD"
    },
    "398": {
      "fn": null,
      "offset": [
        516,
        11454
      ],
      "op": "EQ",
      "path": "75"
    },
    "399": {
      "fn": null,
      "offset": [
        516,
        11454
      ],
      "op": "PUSH2",
      "path": "75",
      "value": "0x1FE"
    },
    "402": {
      "fn": null,
      "offset": [
        516,
        11454
      ],
      "op": "JUMPI",
      "path": "75"
    },
    "403": {
      "fn": null,
      "offset": [
        516,
        11454
      ],
      "op": "DUP1",
      "path": "75"
    },
    "404": {
      "fn": null,
      "offset": [
        516,
        11454
      ],
      "op": "PUSH4",
      "path": "75",
      "value": "0x2857373A"
    },
    "409": {
      "fn": null,
      "offset": [
        516,
        11454
      ],
      "op": "EQ",
      "path": "75"
    },
    "410": {
      "fn": null,
      "offset": [
        516,
        11454
      ],
      "op": "PUSH2",
      "path": "75",
      "value": "0x211"
    },
    "413": {
      "fn": null,
      "offset": [
        516,
        11454
      ],
      "op": "JUMPI",
      "path": "75"
    },
    "414": {
      "fn": null,
      "offset": [
        516,
        11454
      ],
      "op": "DUP1",
      "path": "75"
    },
    "415": {
      "fn": null,
      "offset": [
        516,
        11454
      ],
      "op": "PUSH4",
      "path": "75",
      "value": "0x2B1C7F73"
    },
    "420": {
      "fn": null,
      "offset": [
        516,
        11454
      ],
      "op": "EQ",
      "path": "75"
    },
    "421": {
      "fn": null,
      "offset": [
        516,
        11454
      ],
      "op": "PUSH2",
      "path": "75",
      "value": "0x227"
    },
    "424": {
      "fn": null,
      "offset": [
        516,
        11454
      ],
      "op": "JUMPI",
      "path": "75"
    },
    "425": {
      "fn": null,
      "offset": [
        516,
        11454
      ],
      "op": "JUMPDEST",
      "path": "75"
    },
    "426": {
      "fn": null,
      "offset": [
        516,
        11454
      ],
      "op": "PUSH1",
      "path": "75",
      "value": "0x0"
    },
    "428": {
      "fn": null,
      "offset": [
        516,
        11454
      ],
      "op": "DUP1",
      "path": "75"
    },
    "429": {
      "first_revert": true,
      "fn": null,
      "offset": [
        516,
        11454
      ],
      "op": "REVERT",
      "path": "75"
    },
    "430": {
      "fn": "ComponentController.propose",
      "offset": [
        1615,
        2361
      ],
      "op": "JUMPDEST",
      "path": "75"
    },
    "431": {
      "fn": "ComponentController.propose",
      "offset": [
        1615,
        2361
      ],
      "op": "PUSH2",
      "path": "75",
      "value": "0x1C1"
    },
    "434": {
      "fn": "ComponentController.propose",
      "offset": [
        1615,
        2361
      ],
      "op": "PUSH2",
      "path": "75",
      "value": "0x1BC"
    },
    "437": {
      "fn": "ComponentController.propose",
      "offset": [
        1615,
        2361
      ],
      "op": "CALLDATASIZE",
      "path": "75"
    },
    "438": {
      "fn": "ComponentController.propose",
      "offset": [
        1615,
        2361
      ],
      "op": "PUSH1",
      "path": "75",
      "value": "0x4"
    },
    "440": {
      "fn": "ComponentController.propose",
      "offset": [
        1615,
        2361
      ],
      "op": "PUSH2",
      "path": "75",
      "value": "0x1F6E"
    },
    "443": {
      "fn": "ComponentController.propose",
      "jump": "i",
      "offset": [
        1615,
        2361
      ],
      "op": "JUMP",
      "path": "75"
    },
    "444": {
      "fn": "ComponentController.propose",
      "offset": [
        1615,
        2361
      ],
      "op": "JUMPDEST",
      "path": "75"
    },
    "445": {
      "fn": "ComponentController.propose",
      "offset": [
        1615,
        2361
      ],
      "op": "PUSH2",
      "path": "75",
      "value": "0x402"
    },
    "448": {
      "fn": "ComponentController.propose",
      "jump": "i",
      "offset": [
        1615,
        2361
      ],
      "op": "JUMP",
      "path": "75"
    },
    "449": {
      "fn": "ComponentController.propose",
      "offset": [
        1615,
        2361
      ],
      "op": "JUMPDEST",
      "path": "75"
    },
    "450": {
      "fn": "ComponentController.propose",
      "offset": [
        1615,
        2361
      ],
      "op": "STOP",
      "path": "75"
    },
    "451": {
      "fn": "ComponentController.isOracle",
      "offset": [
        8843,
        8948
      ],
      "op": "JUMPDEST",
      "path": "75"
    },
    "452": {
      "fn": "ComponentController.isOracle",
      "offset": [
        8843,
        8948
      ],
      "op": "PUSH2",
      "path": "75",
      "value": "0x1D6"
    },
    "455": {
      "fn": "ComponentController.isOracle",
      "offset": [
        8843,
        8948
      ],
      "op": "PUSH2",
      "path": "75",
      "value": "0x1D1"
    },
    "458": {
      "fn": "ComponentController.isOracle",
      "offset": [
        8843,
        8948
      ],
      "op": "CALLDATASIZE",
      "path": "75"
    },
    "459": {
      "fn": "ComponentController.isOracle",
      "offset": [
        8843,
        8948
      ],
      "op": "PUSH1",
      "path": "75",
      "value": "0x4"
    },
    "461": {
      "fn": "ComponentController.isOracle",
      "offset": [
        8843,
        8948
      ],
      "op": "PUSH2",
      "path": "75",
      "value": "0x201D"
    },
    "464": {
      "fn": "ComponentController.isOracle",
      "jump": "i",
      "offset": [
        8843,
        8948
      ],
      "op": "JUMP",
      "path": "75"
    },
    "465": {
      "fn": "ComponentController.isOracle",
      "offset": [
        8843,
        8948
      ],
      "op": "JUMPDEST",
      "path": "75"
    },
    "466": {
      "fn": "ComponentController.isOracle",
      "offset": [
        8843,
        8948
      ],
      "op": "PUSH2",
      "path": "75",
      "value": "0x739"
    },
    "469": {
      "fn": "ComponentController.isOracle",
      "jump": "i",
      "offset": [
        8843,
        8948
      ],
      "op": "JUMP",
      "path": "75"
    },
    "470": {
      "fn": "ComponentController.isOracle",
      "offset": [
        8843,
        8948
      ],
      "op": "JUMPDEST",
      "path": "75"
    },
    "471": {
      "fn": "ComponentController.isOracle",
      "offset": [
        8843,
        8948
      ],
      "op": "PUSH1",
      "path": "75",
      "value": "0x40"
    },
    "473": {
      "fn": "ComponentController.isOracle",
      "offset": [
        8843,
        8948
      ],
      "op": "MLOAD",
      "path": "75"
    },
    "474": {
      "op": "SWAP1"
    },
    "475": {
      "op": "ISZERO"
    },
    "476": {
      "op": "ISZERO"
    },
    "477": {
      "op": "DUP2"
    },
    "478": {
      "op": "MSTORE"
    },
    "479": {
      "op": "PUSH1",
      "value": "0x20"
    },
    "481": {
      "op": "ADD"
    },
    "482": {
      "fn": "ComponentController.isOracle",
      "offset": [
        8843,
        8948
      ],
      "op": "JUMPDEST",
      "path": "75"
    },
    "483": {
      "fn": "ComponentController.isOracle",
      "offset": [
        8843,
        8948
      ],
      "op": "PUSH1",
      "path": "75",
      "value": "0x40"
    },
    "485": {
      "fn": "ComponentController.isOracle",
      "offset": [
        8843,
        8948
      ],
      "op": "MLOAD",
      "path": "75"
    },
    "486": {
      "fn": "ComponentController.isOracle",
      "offset": [
        8843,
        8948
      ],
      "op": "DUP1",
      "path": "75"
    },
    "487": {
      "fn": "ComponentController.isOracle",
      "offset": [
        8843,
        8948
      ],
      "op": "SWAP2",
      "path": "75"
    },
    "488": {
      "fn": "ComponentController.isOracle",
      "offset": [
        8843,
        8948
      ],
      "op": "SUB",
      "path": "75"
    },
    "489": {
      "fn": "ComponentController.isOracle",
      "offset": [
        8843,
        8948
      ],
      "op": "SWAP1",
      "path": "75"
    },
    "490": {
      "fn": "ComponentController.isOracle",
      "offset": [
        8843,
        8948
      ],
      "op": "RETURN",
      "path": "75"
    },
    "491": {
      "fn": "ComponentController.archiveFromInstanceOperator",
      "offset": [
        5851,
        6207
      ],
      "op": "JUMPDEST",
      "path": "75"
    },
    "492": {
      "fn": "ComponentController.archiveFromInstanceOperator",
      "offset": [
        5851,
        6207
      ],
      "op": "PUSH2",
      "path": "75",
      "value": "0x1C1"
    },
    "495": {
      "fn": "ComponentController.archiveFromInstanceOperator",
      "offset": [
        5851,
        6207
      ],
      "op": "PUSH2",
      "path": "75",
      "value": "0x1F9"
    },
    "498": {
      "fn": "ComponentController.archiveFromInstanceOperator",
      "offset": [
        5851,
        6207
      ],
      "op": "CALLDATASIZE",
      "path": "75"
    },
    "499": {
      "fn": "ComponentController.archiveFromInstanceOperator",
      "offset": [
        5851,
        6207
      ],
      "op": "PUSH1",
      "path": "75",
      "value": "0x4"
    },
    "501": {
      "fn": "ComponentController.archiveFromInstanceOperator",
      "offset": [
        5851,
        6207
      ],
      "op": "PUSH2",
      "path": "75",
      "value": "0x201D"
    },
    "504": {
      "fn": "ComponentController.archiveFromInstanceOperator",
      "jump": "i",
      "offset": [
        5851,
        6207
      ],
      "op": "JUMP",
      "path": "75"
    },
    "505": {
      "fn": "ComponentController.archiveFromInstanceOperator",
      "offset": [
        5851,
        6207
      ],
      "op": "JUMPDEST",
      "path": "75"
    },
    "506": {
      "fn": "ComponentController.archiveFromInstanceOperator",
      "offset": [
        5851,
        6207
      ],
      "op": "PUSH2",
      "path": "75",
      "value": "0x74E"
    },
    "509": {
      "fn": "ComponentController.archiveFromInstanceOperator",
      "jump": "i",
      "offset": [
        5851,
        6207
      ],
      "op": "JUMP",
      "path": "75"
    },
    "510": {
      "fn": "ComponentController.pause",
      "offset": [
        4825,
        5149
      ],
      "op": "JUMPDEST",
      "path": "75"
    },
    "511": {
      "fn": "ComponentController.pause",
      "offset": [
        4825,
        5149
      ],
      "op": "PUSH2",
      "path": "75",
      "value": "0x1C1"
    },
    "514": {
      "fn": "ComponentController.pause",
      "offset": [
        4825,
        5149
      ],
      "op": "PUSH2",
      "path": "75",
      "value": "0x20C"
    },
    "517": {
      "fn": "ComponentController.pause",
      "offset": [
        4825,
        5149
      ],
      "op": "CALLDATASIZE",
      "path": "75"
    },
    "518": {
      "fn": "ComponentController.pause",
      "offset": [
        4825,
        5149
      ],
      "op": "PUSH1",
      "path": "75",
      "value": "0x4"
    },
    "520": {
      "fn": "ComponentController.pause",
      "offset": [
        4825,
        5149
      ],
      "op": "PUSH2",
      "path": "75",
      "value": "0x201D"
    },
    "523": {
      "fn": "ComponentController.pause",
      "jump": "i",
      "offset": [
        4825,
        5149
      ],
      "op": "JUMP",
      "path": "75"
    },
    "524": {
      "fn": "ComponentController.pause",
      "offset": [
        4825,
        5149
      ],
      "op": "JUMPDEST",
      "path": "75"
    },
    "525": {
      "fn": "ComponentController.pause",
      "offset": [
        4825,
        5149
      ],
      "op": "PUSH2",
      "path": "75",
      "value": "0x827"
    },
    "528": {
      "fn": "ComponentController.pause",
      "jump": "i",
      "offset": [
        4825,
        5149
      ],
      "op": "JUMP",
      "path": "75"
    },
    "529": {
      "fn": "ComponentController.oracles",
      "offset": [
        8521,
        8618
      ],
      "op": "JUMPDEST",
      "path": "75"
    },
    "530": {
      "fn": "ComponentController.oracles",
      "offset": [
        8521,
        8618
      ],
      "op": "PUSH2",
      "path": "75",
      "value": "0x219"
    },
    "533": {
      "fn": "ComponentController.oracles",
      "offset": [
        8521,
        8618
      ],
      "op": "PUSH2",
      "path": "75",
      "value": "0x8FE"
    },
    "536": {
      "fn": "ComponentController.oracles",
      "jump": "i",
      "offset": [
        8521,
        8618
      ],
      "op": "JUMP",
      "path": "75"
    },
    "537": {
      "fn": "ComponentController.oracles",
      "offset": [
        8521,
        8618
      ],
      "op": "JUMPDEST",
      "path": "75"
    },
    "538": {
      "fn": "ComponentController.oracles",
      "offset": [
        8521,
        8618
      ],
      "op": "PUSH1",
      "path": "75",
      "value": "0x40"
    },
    "540": {
      "fn": "ComponentController.oracles",
      "offset": [
        8521,
        8618
      ],
      "op": "MLOAD",
      "path": "75"
    },
    "541": {
      "op": "SWAP1"
    },
    "542": {
      "op": "DUP2"
    },
    "543": {
      "op": "MSTORE"
    },
    "544": {
      "op": "PUSH1",
      "value": "0x20"
    },
    "546": {
      "op": "ADD"
    },
    "547": {
      "fn": "ComponentController.oracles",
      "offset": [
        8521,
        8618
      ],
      "op": "PUSH2",
      "path": "75",
      "value": "0x1E2"
    },
    "550": {
      "op": "JUMP"
    },
    "551": {
      "fn": "ComponentController.getComponentId",
      "offset": [
        6432,
        6726
      ],
      "op": "JUMPDEST",
      "path": "75"
    },
    "552": {
      "fn": "ComponentController.getComponentId",
      "offset": [
        6432,
        6726
      ],
      "op": "PUSH2",
      "path": "75",
      "value": "0x219"
    },
    "555": {
      "fn": "ComponentController.getComponentId",
      "offset": [
        6432,
        6726
      ],
      "op": "PUSH2",
      "path": "75",
      "value": "0x235"
    },
    "558": {
      "fn": "ComponentController.getComponentId",
      "offset": [
        6432,
        6726
      ],
      "op": "CALLDATASIZE",
      "path": "75"
    },
    "559": {
      "fn": "ComponentController.getComponentId",
      "offset": [
        6432,
        6726
      ],
      "op": "PUSH1",
      "path": "75",
      "value": "0x4"
    },
    "561": {
      "fn": "ComponentController.getComponentId",
      "offset": [
        6432,
        6726
      ],
      "op": "PUSH2",
      "path": "75",
      "value": "0x1F6E"
    },
    "564": {
      "fn": "ComponentController.getComponentId",
      "jump": "i",
      "offset": [
        6432,
        6726
      ],
      "op": "JUMP",
      "path": "75"
    },
    "565": {
      "fn": "ComponentController.getComponentId",
      "offset": [
        6432,
        6726
      ],
      "op": "JUMPDEST",
      "path": "75"
    },
    "566": {
      "fn": "ComponentController.getComponentId",
      "offset": [
        6432,
        6726
      ],
      "op": "PUSH2",
      "path": "75",
      "value": "0x90F"
    },
    "569": {
      "fn": "ComponentController.getComponentId",
      "jump": "i",
      "offset": [
        6432,
        6726
      ],
      "op": "JUMP",
      "path": "75"
    },
    "570": {
      "fn": "ComponentController.isProduct",
      "offset": [
        8730,
        8837
      ],
      "op": "JUMPDEST",
      "path": "75"
    },
    "571": {
      "fn": "ComponentController.isProduct",
      "offset": [
        8730,
        8837
      ],
      "op": "PUSH2",
      "path": "75",
      "value": "0x1D6"
    },
    "574": {
      "fn": "ComponentController.isProduct",
      "offset": [
        8730,
        8837
      ],
      "op": "PUSH2",
      "path": "75",
      "value": "0x248"
    },
    "577": {
      "fn": "ComponentController.isProduct",
      "offset": [
        8730,
        8837
      ],
      "op": "CALLDATASIZE",
      "path": "75"
    },
    "578": {
      "fn": "ComponentController.isProduct",
      "offset": [
        8730,
        8837
      ],
      "op": "PUSH1",
      "path": "75",
      "value": "0x4"
    },
    "580": {
      "fn": "ComponentController.isProduct",
      "offset": [
        8730,
        8837
      ],
      "op": "PUSH2",
      "path": "75",
      "value": "0x201D"
    },
    "583": {
      "fn": "ComponentController.isProduct",
      "jump": "i",
      "offset": [
        8730,
        8837
      ],
      "op": "JUMP",
      "path": "75"
    },
    "584": {
      "fn": "ComponentController.isProduct",
      "offset": [
        8730,
        8837
      ],
      "op": "JUMPDEST",
      "path": "75"
    },
    "585": {
      "fn": "ComponentController.isProduct",
      "offset": [
        8730,
        8837
      ],
      "op": "PUSH2",
      "path": "75",
      "value": "0x9DA"
    },
    "588": {
      "fn": "ComponentController.isProduct",
      "jump": "i",
      "offset": [
        8730,
        8837
      ],
      "op": "JUMP",
      "path": "75"
    },
    "589": {
      "fn": "ComponentController.resume",
      "offset": [
        4489,
        4819
      ],
      "op": "JUMPDEST",
      "path": "75"
    },
    "590": {
      "fn": "ComponentController.resume",
      "offset": [
        4489,
        4819
      ],
      "op": "PUSH2",
      "path": "75",
      "value": "0x1C1"
    },
    "593": {
      "fn": "ComponentController.resume",
      "offset": [
        4489,
        4819
      ],
      "op": "PUSH2",
      "path": "75",
      "value": "0x25B"
    },
    "596": {
      "fn": "ComponentController.resume",
      "offset": [
        4489,
        4819
      ],
      "op": "CALLDATASIZE",
      "path": "75"
    },
    "597": {
      "fn": "ComponentController.resume",
      "offset": [
        4489,
        4819
      ],
      "op": "PUSH1",
      "path": "75",
      "value": "0x4"
    },
    "599": {
      "fn": "ComponentController.resume",
      "offset": [
        4489,
        4819
      ],
      "op": "PUSH2",
      "path": "75",
      "value": "0x201D"
    },
    "602": {
      "fn": "ComponentController.resume",
      "jump": "i",
      "offset": [
        4489,
        4819
      ],
      "op": "JUMP",
      "path": "75"
    },
    "603": {
      "fn": "ComponentController.resume",
      "offset": [
        4489,
        4819
      ],
      "op": "JUMPDEST",
      "path": "75"
    },
    "604": {
      "fn": "ComponentController.resume",
      "offset": [
        4489,
        4819
      ],
      "op": "PUSH2",
      "path": "75",
      "value": "0x9E7"
    },
    "607": {
      "fn": "ComponentController.resume",
      "jump": "i",
      "offset": [
        4489,
        4819
      ],
      "op": "JUMP",
      "path": "75"
    },
    "608": {
      "fn": "ComponentController.suspend",
      "offset": [
        4144,
        4483
      ],
      "op": "JUMPDEST",
      "path": "75"
    },
    "609": {
      "fn": "ComponentController.suspend",
      "offset": [
        4144,
        4483
      ],
      "op": "PUSH2",
      "path": "75",
      "value": "0x1C1"
    },
    "612": {
      "fn": "ComponentController.suspend",
      "offset": [
        4144,
        4483
      ],
      "op": "PUSH2",
      "path": "75",
      "value": "0x26E"
    },
    "615": {
      "fn": "ComponentController.suspend",
      "offset": [
        4144,
        4483
      ],
      "op": "CALLDATASIZE",
      "path": "75"
    },
    "616": {
      "fn": "ComponentController.suspend",
      "offset": [
        4144,
        4483
      ],
      "op": "PUSH1",
      "path": "75",
      "value": "0x4"
    },
    "618": {
      "fn": "ComponentController.suspend",
      "offset": [
        4144,
        4483
      ],
      "op": "PUSH2",
      "path": "75",
      "value": "0x201D"
    },
    "621": {
      "fn": "ComponentController.suspend",
      "jump": "i",
      "offset": [
        4144,
        4483
      ],
      "op": "JUMP",
      "path": "75"
    },
    "622": {
      "fn": "ComponentController.suspend",
      "offset": [
        4144,
        4483
      ],
      "op": "JUMPDEST",
      "path": "75"
    },
    "623": {
      "fn": "ComponentController.suspend",
      "offset": [
        4144,
        4483
      ],
      "op": "PUSH2",
      "path": "75",
      "value": "0xAC0"
    },
    "626": {
      "fn": "ComponentController.suspend",
      "jump": "i",
      "offset": [
        4144,
        4483
      ],
      "op": "JUMP",
      "path": "75"
    },
    "627": {
      "fn": "ComponentController.getComponent",
      "offset": [
        6213,
        6426
      ],
      "op": "JUMPDEST",
      "path": "75"
    },
    "628": {
      "fn": "ComponentController.getComponent",
      "offset": [
        6213,
        6426
      ],
      "op": "PUSH2",
      "path": "75",
      "value": "0x286"
    },
    "631": {
      "fn": "ComponentController.getComponent",
      "offset": [
        6213,
        6426
      ],
      "op": "PUSH2",
      "path": "75",
      "value": "0x281"
    },
    "634": {
      "fn": "ComponentController.getComponent",
      "offset": [
        6213,
        6426
      ],
      "op": "CALLDATASIZE",
      "path": "75"
    },
    "635": {
      "fn": "ComponentController.getComponent",
      "offset": [
        6213,
        6426
      ],
      "op": "PUSH1",
      "path": "75",
      "value": "0x4"
    },
    "637": {
      "fn": "ComponentController.getComponent",
      "offset": [
        6213,
        6426
      ],
      "op": "PUSH2",
      "path": "75",
      "value": "0x201D"
    },
    "640": {
      "fn": "ComponentController.getComponent",
      "jump": "i",
      "offset": [
        6213,
        6426
      ],
      "op": "JUMP",
      "path": "75"
    },
    "641": {
      "fn": "ComponentController.getComponent",
      "offset": [
        6213,
        6426
      ],
      "op": "JUMPDEST",
      "path": "75"
    },
    "642": {
      "fn": "ComponentController.getComponent",
      "offset": [
        6213,
        6426
      ],
      "op": "PUSH2",
      "path": "75",
      "value": "0xB99"
    },
    "645": {
      "fn": "ComponentController.getComponent",
      "jump": "i",
      "offset": [
        6213,
        6426
      ],
      "op": "JUMP",
      "path": "75"
    },
    "646": {
      "fn": "ComponentController.getComponent",
      "offset": [
        6213,
        6426
      ],
      "op": "JUMPDEST",
      "path": "75"
    },
    "647": {
      "fn": "ComponentController.getComponent",
      "offset": [
        6213,
        6426
      ],
      "op": "PUSH1",
      "path": "75",
      "value": "0x40"
    },
    "649": {
      "fn": "ComponentController.getComponent",
      "offset": [
        6213,
        6426
      ],
      "op": "MLOAD",
      "path": "75"
    },
    "650": {
      "op": "PUSH1",
      "value": "0x1"
    },
    "652": {
      "op": "PUSH1",
      "value": "0x1"
    },
    "654": {
      "op": "PUSH1",
      "value": "0xA0"
    },
    "656": {
      "op": "SHL"
    },
    "657": {
      "op": "SUB"
    },
    "658": {
      "op": "SWAP1"
    },
    "659": {
      "op": "SWAP2"
    },
    "660": {
      "op": "AND"
    },
    "661": {
      "op": "DUP2"
    },
    "662": {
      "op": "MSTORE"
    },
    "663": {
      "op": "PUSH1",
      "value": "0x20"
    },
    "665": {
      "op": "ADD"
    },
    "666": {
      "fn": "ComponentController.getComponent",
      "offset": [
        6213,
        6426
      ],
      "op": "PUSH2",
      "path": "75",
      "value": "0x1E2"
    },
    "669": {
      "op": "JUMP"
    },
    "670": {
      "fn": "ComponentController.exists",
      "offset": [
        3158,
        3321
      ],
      "op": "JUMPDEST",
      "path": "75"
    },
    "671": {
      "fn": "ComponentController.exists",
      "offset": [
        3158,
        3321
      ],
      "op": "PUSH2",
      "path": "75",
      "value": "0x1D6"
    },
    "674": {
      "fn": "ComponentController.exists",
      "offset": [
        3158,
        3321
      ],
      "op": "PUSH2",
      "path": "75",
      "value": "0x2AC"
    },
    "677": {
      "fn": "ComponentController.exists",
      "offset": [
        3158,
        3321
      ],
      "op": "CALLDATASIZE",
      "path": "75"
    },
    "678": {
      "fn": "ComponentController.exists",
      "offset": [
        3158,
        3321
      ],
      "op": "PUSH1",
      "path": "75",
      "value": "0x4"
    },
    "680": {
      "fn": "ComponentController.exists",
      "offset": [
        3158,
        3321
      ],
      "op": "PUSH2",
      "path": "75",
      "value": "0x201D"
    },
    "683": {
      "fn": "ComponentController.exists",
      "jump": "i",
      "offset": [
        3158,
        3321
      ],
      "op": "JUMP",
      "path": "75"
    },
    "684": {
      "fn": "ComponentController.exists",
      "offset": [
        3158,
        3321
      ],
      "op": "JUMPDEST",
      "path": "75"
    },
    "685": {
      "fn": "ComponentController.exists",
      "offset": [
        3206,
        3210
      ],
      "op": "PUSH1",
      "path": "75",
      "value": "0x0"
    },
    "687": {
      "fn": "ComponentController.exists",
      "offset": [
        3245,
        3263
      ],
      "op": "SWAP1",
      "path": "75"
    },
    "688": {
      "fn": "ComponentController.exists",
      "offset": [
        3245,
        3263
      ],
      "op": "DUP2",
      "path": "75"
    },
    "689": {
      "fn": "ComponentController.exists",
      "offset": [
        3245,
        3263
      ],
      "op": "MSTORE",
      "path": "75"
    },
    "690": {
      "fn": "ComponentController.exists",
      "offset": [
        3245,
        3259
      ],
      "op": "PUSH1",
      "path": "75",
      "value": "0x2"
    },
    "692": {
      "fn": "ComponentController.exists",
      "offset": [
        3245,
        3263
      ],
      "op": "PUSH1",
      "path": "75",
      "value": "0x20"
    },
    "694": {
      "fn": "ComponentController.exists",
      "offset": [
        3245,
        3263
      ],
      "op": "MSTORE",
      "path": "75"
    },
    "695": {
      "fn": "ComponentController.exists",
      "offset": [
        3245,
        3263
      ],
      "op": "PUSH1",
      "path": "75",
      "value": "0x40"
    },
    "697": {
      "fn": "ComponentController.exists",
      "offset": [
        3245,
        3263
      ],
      "op": "SWAP1",
      "path": "75"
    },
    "698": {
      "fn": "ComponentController.exists",
      "offset": [
        3245,
        3263
      ],
      "op": "KECCAK256",
      "path": "75"
    },
    "699": {
      "fn": "ComponentController.exists",
      "offset": [
        3245,
        3263
      ],
      "op": "SLOAD",
      "path": "75"
    },
    "700": {
      "op": "PUSH1",
      "value": "0x1"
    },
    "702": {
      "op": "PUSH1",
      "value": "0x1"
    },
    "704": {
      "op": "PUSH1",
      "value": "0xA0"
    },
    "706": {
      "op": "SHL"
    },
    "707": {
      "op": "SUB"
    },
    "708": {
      "fn": "ComponentController.exists",
      "offset": [
        3245,
        3263
      ],
      "op": "AND",
      "path": "75"
    },
    "709": {
      "fn": "ComponentController.exists",
      "offset": [
        3281,
        3313
      ],
      "op": "ISZERO",
      "path": "75",
      "statement": 0
    },
    "710": {
      "fn": "ComponentController.exists",
      "offset": [
        3281,
        3313
      ],
      "op": "ISZERO",
      "path": "75"
    },
    "711": {
      "fn": "ComponentController.exists",
      "offset": [
        3281,
        3313
      ],
      "op": "SWAP1",
      "path": "75"
    },
    "712": {
      "fn": "ComponentController.exists",
      "offset": [
        3158,
        3321
      ],
      "op": "JUMP",
      "path": "75"
    },
    "713": {
      "fn": "ComponentController.getRequiredRole",
      "offset": [
        7823,
        8321
      ],
      "op": "JUMPDEST",
      "path": "75"
    },
    "714": {
      "fn": "ComponentController.getRequiredRole",
      "offset": [
        7823,
        8321
      ],
      "op": "PUSH2",
      "path": "75",
      "value": "0x219"
    },
    "717": {
      "fn": "ComponentController.getRequiredRole",
      "offset": [
        7823,
        8321
      ],
      "op": "PUSH2",
      "path": "75",
      "value": "0x2D7"
    },
    "720": {
      "fn": "ComponentController.getRequiredRole",
      "offset": [
        7823,
        8321
      ],
      "op": "CALLDATASIZE",
      "path": "75"
    },
    "721": {
      "fn": "ComponentController.getRequiredRole",
      "offset": [
        7823,
        8321
      ],
      "op": "PUSH1",
      "path": "75",
      "value": "0x4"
    },
    "723": {
      "fn": "ComponentController.getRequiredRole",
      "offset": [
        7823,
        8321
      ],
      "op": "PUSH2",
      "path": "75",
      "value": "0x1FE5"
    },
    "726": {
      "fn": "ComponentController.getRequiredRole",
      "jump": "i",
      "offset": [
        7823,
        8321
      ],
      "op": "JUMP",
      "path": "75"
    },
    "727": {
      "fn": "ComponentController.getRequiredRole",
      "offset": [
        7823,
        8321
      ],
      "op": "JUMPDEST",
      "path": "75"
    },
    "728": {
      "fn": "ComponentController.getRequiredRole",
      "offset": [
        7823,
        8321
      ],
      "op": "PUSH2",
      "path": "75",
      "value": "0xC09"
    },
    "731": {
      "fn": "ComponentController.getRequiredRole",
      "jump": "i",
      "offset": [
        7823,
        8321
      ],
      "op": "JUMP",
      "path": "75"
    },
    "732": {
      "fn": "ComponentController.getComponentState",
      "offset": [
        7261,
        7406
      ],
      "op": "JUMPDEST",
      "path": "75"
    },
    "733": {
      "fn": "ComponentController.getComponentState",
      "offset": [
        7261,
        7406
      ],
      "op": "PUSH2",
      "path": "75",
      "value": "0x2FF"
    },
    "736": {
      "fn": "ComponentController.getComponentState",
      "offset": [
        7261,
        7406
      ],
      "op": "PUSH2",
      "path": "75",
      "value": "0x2EA"
    },
    "739": {
      "fn": "ComponentController.getComponentState",
      "offset": [
        7261,
        7406
      ],
      "op": "CALLDATASIZE",
      "path": "75"
    },
    "740": {
      "fn": "ComponentController.getComponentState",
      "offset": [
        7261,
        7406
      ],
      "op": "PUSH1",
      "path": "75",
      "value": "0x4"
    },
    "742": {
      "fn": "ComponentController.getComponentState",
      "offset": [
        7261,
        7406
      ],
      "op": "PUSH2",
      "path": "75",
      "value": "0x201D"
    },
    "745": {
      "fn": "ComponentController.getComponentState",
      "jump": "i",
      "offset": [
        7261,
        7406
      ],
      "op": "JUMP",
      "path": "75"
    },
    "746": {
      "fn": "ComponentController.getComponentState",
      "offset": [
        7261,
        7406
      ],
      "op": "JUMPDEST",
      "path": "75"
    },
    "747": {
      "fn": "ComponentController.getComponentState",
      "offset": [
        7321,
        7361
      ],
      "op": "PUSH1",
      "path": "75",
      "value": "0x0"
    },
    "749": {
      "fn": "ComponentController.getComponentState",
      "offset": [
        7380,
        7399
      ],
      "op": "SWAP1",
      "path": "75",
      "statement": 1
    },
    "750": {
      "fn": "ComponentController.getComponentState",
      "offset": [
        7380,
        7399
      ],
      "op": "DUP2",
      "path": "75"
    },
    "751": {
      "fn": "ComponentController.getComponentState",
      "offset": [
        7380,
        7399
      ],
      "op": "MSTORE",
      "path": "75"
    },
    "752": {
      "fn": "ComponentController.getComponentState",
      "offset": [
        7380,
        7395
      ],
      "op": "PUSH1",
      "path": "75",
      "value": "0x5"
    },
    "754": {
      "fn": "ComponentController.getComponentState",
      "offset": [
        7380,
        7399
      ],
      "op": "PUSH1",
      "path": "75",
      "value": "0x20"
    },
    "756": {
      "fn": "ComponentController.getComponentState",
      "offset": [
        7380,
        7399
      ],
      "op": "MSTORE",
      "path": "75"
    },
    "757": {
      "fn": "ComponentController.getComponentState",
      "offset": [
        7380,
        7399
      ],
      "op": "PUSH1",
      "path": "75",
      "value": "0x40"
    },
    "759": {
      "fn": "ComponentController.getComponentState",
      "offset": [
        7380,
        7399
      ],
      "op": "SWAP1",
      "path": "75"
    },
    "760": {
      "fn": "ComponentController.getComponentState",
      "offset": [
        7380,
        7399
      ],
      "op": "KECCAK256",
      "path": "75"
    },
    "761": {
      "fn": "ComponentController.getComponentState",
      "offset": [
        7380,
        7399
      ],
      "op": "SLOAD",
      "path": "75"
    },
    "762": {
      "fn": "ComponentController.getComponentState",
      "offset": [
        7380,
        7399
      ],
      "op": "PUSH1",
      "path": "75",
      "value": "0xFF"
    },
    "764": {
      "fn": "ComponentController.getComponentState",
      "offset": [
        7380,
        7399
      ],
      "op": "AND",
      "path": "75"
    },
    "765": {
      "fn": "ComponentController.getComponentState",
      "offset": [
        7380,
        7399
      ],
      "op": "SWAP1",
      "path": "75"
    },
    "766": {
      "fn": "ComponentController.getComponentState",
      "offset": [
        7261,
        7406
      ],
      "op": "JUMP",
      "path": "75"
    },
    "767": {
      "fn": "ComponentController.getComponentState",
      "offset": [
        7261,
        7406
      ],
      "op": "JUMPDEST",
      "path": "75"
    },
    "768": {
      "fn": "ComponentController.getComponentState",
      "offset": [
        7261,
        7406
      ],
      "op": "PUSH1",
      "path": "75",
      "value": "0x40"
    },
    "770": {
      "fn": "ComponentController.getComponentState",
      "offset": [
        7261,
        7406
      ],
      "op": "MLOAD",
      "path": "75"
    },
    "771": {
      "fn": "ComponentController.getComponentState",
      "offset": [
        7261,
        7406
      ],
      "op": "PUSH2",
      "path": "75",
      "value": "0x1E2"
    },
    "774": {
      "fn": "ComponentController.getComponentState",
      "offset": [
        7261,
        7406
      ],
      "op": "SWAP2",
      "path": "75"
    },
    "775": {
      "fn": "ComponentController.getComponentState",
      "offset": [
        7261,
        7406
      ],
      "op": "SWAP1",
      "path": "75"
    },
    "776": {
      "fn": "ComponentController.getComponentState",
      "offset": [
        7261,
        7406
      ],
      "op": "PUSH2",
      "path": "75",
      "value": "0x2088"
    },
    "779": {
      "fn": "ComponentController.getComponentState",
      "jump": "i",
      "offset": [
        7261,
        7406
      ],
      "op": "JUMP",
      "path": "75"
    },
    "780": {
      "fn": "ComponentController.archiveFromComponentOwner",
      "offset": [
        5493,
        5845
      ],
      "op": "JUMPDEST",
      "path": "75"
    },
    "781": {
      "fn": "ComponentController.archiveFromComponentOwner",
      "offset": [
        5493,
        5845
      ],
      "op": "PUSH2",
      "path": "75",
      "value": "0x1C1"
    },
    "784": {
      "fn": "ComponentController.archiveFromComponentOwner",
      "offset": [
        5493,
        5845
      ],
      "op": "PUSH2",
      "path": "75",
      "value": "0x31A"
    },
    "787": {
      "fn": "ComponentController.archiveFromComponentOwner",
      "offset": [
        5493,
        5845
      ],
      "op": "CALLDATASIZE",
      "path": "75"
    },
    "788": {
      "fn": "ComponentController.archiveFromComponentOwner",
      "offset": [
        5493,
        5845
      ],
      "op": "PUSH1",
      "path": "75",
      "value": "0x4"
    },
    "790": {
      "fn": "ComponentController.archiveFromComponentOwner",
      "offset": [
        5493,
        5845
      ],
      "op": "PUSH2",
      "path": "75",
      "value": "0x201D"
    },
    "793": {
      "fn": "ComponentController.archiveFromComponentOwner",
      "jump": "i",
      "offset": [
        5493,
        5845
      ],
      "op": "JUMP",
      "path": "75"
    },
    "794": {
      "fn": "ComponentController.archiveFromComponentOwner",
      "offset": [
        5493,
        5845
      ],
      "op": "JUMPDEST",
      "path": "75"
    },
    "795": {
      "fn": "ComponentController.archiveFromComponentOwner",
      "offset": [
        5493,
        5845
      ],
      "op": "PUSH2",
      "path": "75",
      "value": "0xE00"
    },
    "798": {
      "fn": "ComponentController.archiveFromComponentOwner",
      "jump": "i",
      "offset": [
        5493,
        5845
      ],
      "op": "JUMP",
      "path": "75"
    },
    "799": {
      "fn": "ComponentController.getProductId",
      "offset": [
        7686,
        7817
      ],
      "op": "JUMPDEST",
      "path": "75"
    },
    "800": {
      "fn": "ComponentController.getProductId",
      "offset": [
        7686,
        7817
      ],
      "op": "PUSH2",
      "path": "75",
      "value": "0x219"
    },
    "803": {
      "fn": "ComponentController.getProductId",
      "offset": [
        7686,
        7817
      ],
      "op": "PUSH2",
      "path": "75",
      "value": "0x32D"
    },
    "806": {
      "fn": "ComponentController.getProductId",
      "offset": [
        7686,
        7817
      ],
      "op": "CALLDATASIZE",
      "path": "75"
    },
    "807": {
      "fn": "ComponentController.getProductId",
      "offset": [
        7686,
        7817
      ],
      "op": "PUSH1",
      "path": "75",
      "value": "0x4"
    },
    "809": {
      "fn": "ComponentController.getProductId",
      "offset": [
        7686,
        7817
      ],
      "op": "PUSH2",
      "path": "75",
      "value": "0x201D"
    },
    "812": {
      "fn": "ComponentController.getProductId",
      "jump": "i",
      "offset": [
        7686,
        7817
      ],
      "op": "JUMP",
      "path": "75"
    },
    "813": {
      "fn": "ComponentController.getProductId",
      "offset": [
        7686,
        7817
      ],
      "op": "JUMPDEST",
      "path": "75"
    },
    "814": {
      "fn": "ComponentController.getProductId",
      "offset": [
        7686,
        7817
      ],
      "op": "PUSH2",
      "path": "75",
      "value": "0xE51"
    },
    "817": {
      "fn": "ComponentController.getProductId",
      "jump": "i",
      "offset": [
        7686,
        7817
      ],
      "op": "JUMP",
      "path": "75"
    },
    "818": {
      "fn": "ComponentController.decline",
      "offset": [
        3805,
        4138
      ],
      "op": "JUMPDEST",
      "path": "75"
    },
    "819": {
      "fn": "ComponentController.decline",
      "offset": [
        3805,
        4138
      ],
      "op": "PUSH2",
      "path": "75",
      "value": "0x1C1"
    },
    "822": {
      "fn": "ComponentController.decline",
      "offset": [
        3805,
        4138
      ],
      "op": "PUSH2",
      "path": "75",
      "value": "0x340"
    },
    "825": {
      "fn": "ComponentController.decline",
      "offset": [
        3805,
        4138
      ],
      "op": "CALLDATASIZE",
      "path": "75"
    },
    "826": {
      "fn": "ComponentController.decline",
      "offset": [
        3805,
        4138
      ],
      "op": "PUSH1",
      "path": "75",
      "value": "0x4"
    },
    "828": {
      "fn": "ComponentController.decline",
      "offset": [
        3805,
        4138
      ],
      "op": "PUSH2",
      "path": "75",
      "value": "0x201D"
    },
    "831": {
      "fn": "ComponentController.decline",
      "jump": "i",
      "offset": [
        3805,
        4138
      ],
      "op": "JUMP",
      "path": "75"
    },
    "832": {
      "fn": "ComponentController.decline",
      "offset": [
        3805,
        4138
      ],
      "op": "JUMPDEST",
      "path": "75"
    },
    "833": {
      "fn": "ComponentController.decline",
      "offset": [
        3805,
        4138
      ],
      "op": "PUSH2",
      "path": "75",
      "value": "0xE5E"
    },
    "836": {
      "fn": "ComponentController.decline",
      "jump": "i",
      "offset": [
        3805,
        4138
      ],
      "op": "JUMP",
      "path": "75"
    },
    "837": {
      "fn": "ComponentController.riskpools",
      "offset": [
        8623,
        8724
      ],
      "op": "JUMPDEST",
      "path": "75"
    },
    "838": {
      "fn": "ComponentController.riskpools",
      "offset": [
        8623,
        8724
      ],
      "op": "PUSH2",
      "path": "75",
      "value": "0x219"
    },
    "841": {
      "fn": "ComponentController.riskpools",
      "offset": [
        8623,
        8724
      ],
      "op": "PUSH2",
      "path": "75",
      "value": "0xF37"
    },
    "844": {
      "fn": "ComponentController.riskpools",
      "jump": "i",
      "offset": [
        8623,
        8724
      ],
      "op": "JUMP",
      "path": "75"
    },
    "845": {
      "fn": "ComponentController.getOracleId",
      "offset": [
        7412,
        7540
      ],
      "op": "JUMPDEST",
      "path": "75"
    },
    "846": {
      "fn": "ComponentController.getOracleId",
      "offset": [
        7412,
        7540
      ],
      "op": "PUSH2",
      "path": "75",
      "value": "0x219"
    },
    "849": {
      "fn": "ComponentController.getOracleId",
      "offset": [
        7412,
        7540
      ],
      "op": "PUSH2",
      "path": "75",
      "value": "0x35B"
    },
    "852": {
      "fn": "ComponentController.getOracleId",
      "offset": [
        7412,
        7540
      ],
      "op": "CALLDATASIZE",
      "path": "75"
    },
    "853": {
      "fn": "ComponentController.getOracleId",
      "offset": [
        7412,
        7540
      ],
      "op": "PUSH1",
      "path": "75",
      "value": "0x4"
    },
    "855": {
      "fn": "ComponentController.getOracleId",
      "offset": [
        7412,
        7540
      ],
      "op": "PUSH2",
      "path": "75",
      "value": "0x201D"
    },
    "858": {
      "fn": "ComponentController.getOracleId",
      "jump": "i",
      "offset": [
        7412,
        7540
      ],
      "op": "JUMP",
      "path": "75"
    },
    "859": {
      "fn": "ComponentController.getOracleId",
      "offset": [
        7412,
        7540
      ],
      "op": "JUMPDEST",
      "path": "75"
    },
    "860": {
      "fn": "ComponentController.getOracleId",
      "offset": [
        7412,
        7540
      ],
      "op": "PUSH2",
      "path": "75",
      "value": "0xF43"
    },
    "863": {
      "fn": "ComponentController.getOracleId",
      "jump": "i",
      "offset": [
        7412,
        7540
      ],
      "op": "JUMP",
      "path": "75"
    },
    "864": {
      "fn": "ComponentController.approve",
      "offset": [
        3327,
        3799
      ],
      "op": "JUMPDEST",
      "path": "75"
    },
    "865": {
      "fn": "ComponentController.approve",
      "offset": [
        3327,
        3799
      ],
      "op": "PUSH2",
      "path": "75",
      "value": "0x1C1"
    },
    "868": {
      "fn": "ComponentController.approve",
      "offset": [
        3327,
        3799
      ],
      "op": "PUSH2",
      "path": "75",
      "value": "0x36E"
    },
    "871": {
      "fn": "ComponentController.approve",
      "offset": [
        3327,
        3799
      ],
      "op": "CALLDATASIZE",
      "path": "75"
    },
    "872": {
      "fn": "ComponentController.approve",
      "offset": [
        3327,
        3799
      ],
      "op": "PUSH1",
      "path": "75",
      "value": "0x4"
    },
    "874": {
      "fn": "ComponentController.approve",
      "offset": [
        3327,
        3799
      ],
      "op": "PUSH2",
      "path": "75",
      "value": "0x201D"
    },
    "877": {
      "fn": "ComponentController.approve",
      "jump": "i",
      "offset": [
        3327,
        3799
      ],
      "op": "JUMP",
      "path": "75"
    },
    "878": {
      "fn": "ComponentController.approve",
      "offset": [
        3327,
        3799
      ],
      "op": "JUMPDEST",
      "path": "75"
    },
    "879": {
      "fn": "ComponentController.approve",
      "offset": [
        3327,
        3799
      ],
      "op": "PUSH2",
      "path": "75",
      "value": "0xF50"
    },
    "882": {
      "fn": "ComponentController.approve",
      "jump": "i",
      "offset": [
        3327,
        3799
      ],
      "op": "JUMP",
      "path": "75"
    },
    "883": {
      "fn": "ComponentController.components",
      "offset": [
        8327,
        8412
      ],
      "op": "JUMPDEST",
      "path": "75"
    },
    "884": {
      "fn": "ComponentController.components",
      "offset": [
        8394,
        8409
      ],
      "op": "PUSH1",
      "path": "75",
      "statement": 2,
      "value": "0xC"
    },
    "886": {
      "fn": "ComponentController.components",
      "offset": [
        8394,
        8409
      ],
      "op": "SLOAD",
      "path": "75"
    },
    "887": {
      "fn": "ComponentController.components",
      "offset": [
        8327,
        8412
      ],
      "op": "PUSH2",
      "path": "75",
      "value": "0x219"
    },
    "890": {
      "fn": "ComponentController.components",
      "offset": [
        8327,
        8412
      ],
      "op": "JUMP",
      "path": "75"
    },
    "891": {
      "fn": "ComponentController.isRiskpool",
      "offset": [
        8954,
        9063
      ],
      "op": "JUMPDEST",
      "path": "75"
    },
    "892": {
      "fn": "ComponentController.isRiskpool",
      "offset": [
        8954,
        9063
      ],
      "op": "PUSH2",
      "path": "75",
      "value": "0x1D6"
    },
    "895": {
      "fn": "ComponentController.isRiskpool",
      "offset": [
        8954,
        9063
      ],
      "op": "PUSH2",
      "path": "75",
      "value": "0x389"
    },
    "898": {
      "fn": "ComponentController.isRiskpool",
      "offset": [
        8954,
        9063
      ],
      "op": "CALLDATASIZE",
      "path": "75"
    },
    "899": {
      "fn": "ComponentController.isRiskpool",
      "offset": [
        8954,
        9063
      ],
      "op": "PUSH1",
      "path": "75",
      "value": "0x4"
    },
    "901": {
      "fn": "ComponentController.isRiskpool",
      "offset": [
        8954,
        9063
      ],
      "op": "PUSH2",
      "path": "75",
      "value": "0x201D"
    },
    "904": {
      "fn": "ComponentController.isRiskpool",
      "jump": "i",
      "offset": [
        8954,
        9063
      ],
      "op": "JUMP",
      "path": "75"
    },
    "905": {
      "fn": "ComponentController.isRiskpool",
      "offset": [
        8954,
        9063
      ],
      "op": "JUMPDEST",
      "path": "75"
    },
    "906": {
      "fn": "ComponentController.isRiskpool",
      "offset": [
        8954,
        9063
      ],
      "op": "PUSH2",
      "path": "75",
      "value": "0x10D5"
    },
    "909": {
      "fn": "ComponentController.isRiskpool",
      "jump": "i",
      "offset": [
        8954,
        9063
      ],
      "op": "JUMP",
      "path": "75"
    },
    "910": {
      "fn": "CoreController.initialize",
      "offset": [
        1143,
        1375
      ],
      "op": "JUMPDEST",
      "path": "88"
    },
    "911": {
      "fn": "CoreController.initialize",
      "offset": [
        1143,
        1375
      ],
      "op": "PUSH2",
      "path": "88",
      "value": "0x1C1"
    },
    "914": {
      "fn": "CoreController.initialize",
      "offset": [
        1143,
        1375
      ],
      "op": "PUSH2",
      "path": "88",
      "value": "0x39C"
    },
    "917": {
      "fn": "CoreController.initialize",
      "offset": [
        1143,
        1375
      ],
      "op": "CALLDATASIZE",
      "path": "88"
    },
    "918": {
      "fn": "CoreController.initialize",
      "offset": [
        1143,
        1375
      ],
      "op": "PUSH1",
      "path": "88",
      "value": "0x4"
    },
    "920": {
      "fn": "CoreController.initialize",
      "offset": [
        1143,
        1375
      ],
      "op": "PUSH2",
      "path": "88",
      "value": "0x1F6E"
    },
    "923": {
      "fn": "CoreController.initialize",
      "jump": "i",
      "offset": [
        1143,
        1375
      ],
      "op": "JUMP",
      "path": "88"
    },
    "924": {
      "fn": "CoreController.initialize",
      "offset": [
        1143,
        1375
      ],
      "op": "JUMPDEST",
      "path": "88"
    },
    "925": {
      "fn": "CoreController.initialize",
      "offset": [
        1143,
        1375
      ],
      "op": "PUSH2",
      "path": "88",
      "value": "0x10E2"
    },
    "928": {
      "fn": "CoreController.initialize",
      "jump": "i",
      "offset": [
        1143,
        1375
      ],
      "op": "JUMP",
      "path": "88"
    },
    "929": {
      "fn": "ComponentController.products",
      "offset": [
        8417,
        8516
      ],
      "op": "JUMPDEST",
      "path": "75"
    },
    "930": {
      "fn": "ComponentController.products",
      "offset": [
        8417,
        8516
      ],
      "op": "PUSH2",
      "path": "75",
      "value": "0x219"
    },
    "933": {
      "fn": "ComponentController.products",
      "offset": [
        8417,
        8516
      ],
      "op": "PUSH2",
      "path": "75",
      "value": "0x1260"
    },
    "936": {
      "fn": "ComponentController.products",
      "jump": "i",
      "offset": [
        8417,
        8516
      ],
      "op": "JUMP",
      "path": "75"
    },
    "937": {
      "fn": "ComponentController.getComponentType",
      "offset": [
        6732,
        7255
      ],
      "op": "JUMPDEST",
      "path": "75"
    },
    "938": {
      "fn": "ComponentController.getComponentType",
      "offset": [
        6732,
        7255
      ],
      "op": "PUSH2",
      "path": "75",
      "value": "0x3BC"
    },
    "941": {
      "fn": "ComponentController.getComponentType",
      "offset": [
        6732,
        7255
      ],
      "op": "PUSH2",
      "path": "75",
      "value": "0x3B7"
    },
    "944": {
      "fn": "ComponentController.getComponentType",
      "offset": [
        6732,
        7255
      ],
      "op": "CALLDATASIZE",
      "path": "75"
    },
    "945": {
      "fn": "ComponentController.getComponentType",
      "offset": [
        6732,
        7255
      ],
      "op": "PUSH1",
      "path": "75",
      "value": "0x4"
    },
    "947": {
      "fn": "ComponentController.getComponentType",
      "offset": [
        6732,
        7255
      ],
      "op": "PUSH2",
      "path": "75",
      "value": "0x201D"
    },
    "950": {
      "fn": "ComponentController.getComponentType",
      "jump": "i",
      "offset": [
        6732,
        7255
      ],
      "op": "JUMP",
      "path": "75"
    },
    "951": {
      "fn": "ComponentController.getComponentType",
      "offset": [
        6732,
        7255
      ],
      "op": "JUMPDEST",
      "path": "75"
    },
    "952": {
      "fn": "ComponentController.getComponentType",
      "offset": [
        6732,
        7255
      ],
      "op": "PUSH2",
      "path": "75",
      "value": "0x126C"
    },
    "955": {
      "fn": "ComponentController.getComponentType",
      "jump": "i",
      "offset": [
        6732,
        7255
      ],
      "op": "JUMP",
      "path": "75"
    },
    "956": {
      "fn": "ComponentController.getComponentType",
      "offset": [
        6732,
        7255
      ],
      "op": "JUMPDEST",
      "path": "75"
    },
    "957": {
      "fn": "ComponentController.getComponentType",
      "offset": [
        6732,
        7255
      ],
      "op": "PUSH1",
      "path": "75",
      "value": "0x40"
    },
    "959": {
      "fn": "ComponentController.getComponentType",
      "offset": [
        6732,
        7255
      ],
      "op": "MLOAD",
      "path": "75"
    },
    "960": {
      "fn": "ComponentController.getComponentType",
      "offset": [
        6732,
        7255
      ],
      "op": "PUSH2",
      "path": "75",
      "value": "0x1E2"
    },
    "963": {
      "fn": "ComponentController.getComponentType",
      "offset": [
        6732,
        7255
      ],
      "op": "SWAP2",
      "path": "75"
    },
    "964": {
      "fn": "ComponentController.getComponentType",
      "offset": [
        6732,
        7255
      ],
      "op": "SWAP1",
      "path": "75"
    },
    "965": {
      "fn": "ComponentController.getComponentType",
      "offset": [
        6732,
        7255
      ],
      "op": "PUSH2",
      "path": "75",
      "value": "0x2096"
    },
    "968": {
      "fn": "ComponentController.getComponentType",
      "jump": "i",
      "offset": [
        6732,
        7255
      ],
      "op": "JUMP",
      "path": "75"
    },
    "969": {
      "fn": "ComponentController.getPolicyFlow",
      "offset": [
        9069,
        9292
      ],
      "op": "JUMPDEST",
      "path": "75"
    },
    "970": {
      "fn": "ComponentController.getPolicyFlow",
      "offset": [
        9069,
        9292
      ],
      "op": "PUSH2",
      "path": "75",
      "value": "0x286"
    },
    "973": {
      "fn": "ComponentController.getPolicyFlow",
      "offset": [
        9069,
        9292
      ],
      "op": "PUSH2",
      "path": "75",
      "value": "0x3D7"
    },
    "976": {
      "fn": "ComponentController.getPolicyFlow",
      "offset": [
        9069,
        9292
      ],
      "op": "CALLDATASIZE",
      "path": "75"
    },
    "977": {
      "fn": "ComponentController.getPolicyFlow",
      "offset": [
        9069,
        9292
      ],
      "op": "PUSH1",
      "path": "75",
      "value": "0x4"
    },
    "979": {
      "fn": "ComponentController.getPolicyFlow",
      "offset": [
        9069,
        9292
      ],
      "op": "PUSH2",
      "path": "75",
      "value": "0x201D"
    },
    "982": {
      "fn": "ComponentController.getPolicyFlow",
      "jump": "i",
      "offset": [
        9069,
        9292
      ],
      "op": "JUMP",
      "path": "75"
    },
    "983": {
      "fn": "ComponentController.getPolicyFlow",
      "offset": [
        9069,
        9292
      ],
      "op": "JUMPDEST",
      "path": "75"
    },
    "984": {
      "fn": "ComponentController.getPolicyFlow",
      "offset": [
        9069,
        9292
      ],
      "op": "PUSH2",
      "path": "75",
      "value": "0x1309"
    },
    "987": {
      "fn": "ComponentController.getPolicyFlow",
      "jump": "i",
      "offset": [
        9069,
        9292
      ],
      "op": "JUMP",
      "path": "75"
    },
    "988": {
      "fn": "ComponentController.unpause",
      "offset": [
        5155,
        5487
      ],
      "op": "JUMPDEST",
      "path": "75"
    },
    "989": {
      "fn": "ComponentController.unpause",
      "offset": [
        5155,
        5487
      ],
      "op": "PUSH2",
      "path": "75",
      "value": "0x1C1"
    },
    "992": {
      "fn": "ComponentController.unpause",
      "offset": [
        5155,
        5487
      ],
      "op": "PUSH2",
      "path": "75",
      "value": "0x3EA"
    },
    "995": {
      "fn": "ComponentController.unpause",
      "offset": [
        5155,
        5487
      ],
      "op": "CALLDATASIZE",
      "path": "75"
    },
    "996": {
      "fn": "ComponentController.unpause",
      "offset": [
        5155,
        5487
      ],
      "op": "PUSH1",
      "path": "75",
      "value": "0x4"
    },
    "998": {
      "fn": "ComponentController.unpause",
      "offset": [
        5155,
        5487
      ],
      "op": "PUSH2",
      "path": "75",
      "value": "0x201D"
    },
    "1001": {
      "fn": "ComponentController.unpause",
      "jump": "i",
      "offset": [
        5155,
        5487
      ],
      "op": "JUMP",
      "path": "75"
    },
    "1002": {
      "fn": "ComponentController.unpause",
      "offset": [
        5155,
        5487
      ],
      "op": "JUMPDEST",
      "path": "75"
    },
    "1003": {
      "fn": "ComponentController.unpause",
      "offset": [
        5155,
        5487
      ],
      "op": "PUSH2",
      "path": "75",
      "value": "0x137C"
    },
    "1006": {
      "fn": "ComponentController.unpause",
      "jump": "i",
      "offset": [
        5155,
        5487
      ],
      "op": "JUMP",
      "path": "75"
    },
    "1007": {
      "fn": "ComponentController.getRiskpoolId",
      "offset": [
        7546,
        7680
      ],
      "op": "JUMPDEST",
      "path": "75"
    },
    "1008": {
      "fn": "ComponentController.getRiskpoolId",
      "offset": [
        7546,
        7680
      ],
      "op": "PUSH2",
      "path": "75",
      "value": "0x219"
    },
    "1011": {
      "fn": "ComponentController.getRiskpoolId",
      "offset": [
        7546,
        7680
      ],
      "op": "PUSH2",
      "path": "75",
      "value": "0x3FD"
    },
    "1014": {
      "fn": "ComponentController.getRiskpoolId",
      "offset": [
        7546,
        7680
      ],
      "op": "CALLDATASIZE",
      "path": "75"
    },
    "1015": {
      "fn": "ComponentController.getRiskpoolId",
      "offset": [
        7546,
        7680
      ],
      "op": "PUSH1",
      "path": "75",
      "value": "0x4"
    },
    "1017": {
      "fn": "ComponentController.getRiskpoolId",
      "offset": [
        7546,
        7680
      ],
      "op": "PUSH2",
      "path": "75",
      "value": "0x201D"
    },
    "1020": {
      "fn": "ComponentController.getRiskpoolId",
      "jump": "i",
      "offset": [
        7546,
        7680
      ],
      "op": "JUMP",
      "path": "75"
    },
    "1021": {
      "fn": "ComponentController.getRiskpoolId",
      "offset": [
        7546,
        7680
      ],
      "op": "JUMPDEST",
      "path": "75"
    },
    "1022": {
      "fn": "ComponentController.getRiskpoolId",
      "offset": [
        7546,
        7680
      ],
      "op": "PUSH2",
      "path": "75",
      "value": "0x1453"
    },
    "1025": {
      "fn": "ComponentController.getRiskpoolId",
      "jump": "i",
      "offset": [
        7546,
        7680
      ],
      "op": "JUMP",
      "path": "75"
    },
    "1026": {
      "fn": "ComponentController.propose",
      "offset": [
        1615,
        2361
      ],
      "op": "JUMPDEST",
      "path": "75"
    },
    "1027": {
      "offset": [
        1273,
        1317
      ],
      "op": "PUSH2",
      "path": "75",
      "value": "0x423"
    },
    "1030": {
      "op": "PUSH21",
      "value": "0x436F6D706F6E656E744F776E657253657276696365"
    },
    "1052": {
      "op": "PUSH1",
      "value": "0x58"
    },
    "1054": {
      "op": "SHL"
    },
    "1055": {
      "offset": [
        1273,
        1292
      ],
      "op": "PUSH2",
      "path": "75",
      "value": "0x1460"
    },
    "1058": {
      "jump": "i",
      "offset": [
        1273,
        1317
      ],
      "op": "JUMP",
      "path": "75"
    },
    "1059": {
      "fn": "ComponentController.propose",
      "offset": [
        1273,
        1317
      ],
      "op": "JUMPDEST",
      "path": "75"
    },
    "1060": {
      "op": "PUSH1",
      "value": "0x1"
    },
    "1062": {
      "op": "PUSH1",
      "value": "0x1"
    },
    "1064": {
      "op": "PUSH1",
      "value": "0xA0"
    },
    "1066": {
      "op": "SHL"
    },
    "1067": {
      "op": "SUB"
    },
    "1068": {
      "offset": [
        1257,
        1317
      ],
      "op": "AND",
      "path": "75"
    },
    "1069": {
      "fn": "Context._msgSender",
      "offset": [
        719,
        729
      ],
      "op": "CALLER",
      "path": "22",
      "statement": 3
    },
    "1070": {
      "op": "PUSH1",
      "value": "0x1"
    },
    "1072": {
      "op": "PUSH1",
      "value": "0x1"
    },
    "1074": {
      "op": "PUSH1",
      "value": "0xA0"
    },
    "1076": {
      "op": "SHL"
    },
    "1077": {
      "op": "SUB"
    },
    "1078": {
      "offset": [
        1257,
        1317
      ],
      "op": "AND",
      "path": "75"
    },
    "1079": {
      "fn": "Context._msgSender",
      "offset": [
        1257,
        1317
      ],
      "op": "EQ",
      "path": "75"
    },
    "1080": {
      "offset": [
        1236,
        1375
      ],
      "op": "PUSH2",
      "path": "75",
      "value": "0x45C"
    },
    "1083": {
      "offset": [
        1236,
        1375
      ],
      "op": "JUMPI",
      "path": "75"
    },
    "1084": {
      "fn": "Context._msgSender",
      "offset": [
        1236,
        1375
      ],
      "op": "PUSH1",
      "path": "75",
      "value": "0x40"
    },
    "1086": {
      "fn": "Context._msgSender",
      "offset": [
        1236,
        1375
      ],
      "op": "MLOAD",
      "path": "75"
    },
    "1087": {
      "op": "PUSH3",
      "value": "0x461BCD"
    },
    "1091": {
      "op": "PUSH1",
      "value": "0xE5"
    },
    "1093": {
      "op": "SHL"
    },
    "1094": {
      "offset": [
        1236,
        1375
      ],
      "op": "DUP2",
      "path": "75"
    },
    "1095": {
      "fn": "Context._msgSender",
      "offset": [
        1236,
        1375
      ],
      "op": "MSTORE",
      "path": "75"
    },
    "1096": {
      "fn": "Context._msgSender",
      "offset": [
        1236,
        1375
      ],
      "op": "PUSH1",
      "path": "75",
      "value": "0x4"
    },
    "1098": {
      "fn": "Context._msgSender",
      "offset": [
        1236,
        1375
      ],
      "op": "ADD",
      "path": "75"
    },
    "1099": {
      "fn": "Context._msgSender",
      "offset": [
        1236,
        1375
      ],
      "op": "PUSH2",
      "path": "75",
      "value": "0x453"
    },
    "1102": {
      "fn": "Context._msgSender",
      "offset": [
        1236,
        1375
      ],
      "op": "SWAP1",
      "path": "75"
    },
    "1103": {
      "fn": "Context._msgSender",
      "offset": [
        1236,
        1375
      ],
      "op": "PUSH2",
      "path": "75",
      "value": "0x20EF"
    },
    "1106": {
      "fn": "Context._msgSender",
      "jump": "i",
      "offset": [
        1236,
        1375
      ],
      "op": "JUMP",
      "path": "75"
    },
    "1107": {
      "fn": "Context._msgSender",
      "offset": [
        1236,
        1375
      ],
      "op": "JUMPDEST",
      "path": "75"
    },
    "1108": {
      "fn": "Context._msgSender",
      "offset": [
        1236,
        1375
      ],
      "op": "PUSH1",
      "path": "75",
      "value": "0x40"
    },
    "1110": {
      "fn": "Context._msgSender",
      "offset": [
        1236,
        1375
      ],
      "op": "MLOAD",
      "path": "75"
    },
    "1111": {
      "fn": "Context._msgSender",
      "offset": [
        1236,
        1375
      ],
      "op": "DUP1",
      "path": "75"
    },
    "1112": {
      "fn": "Context._msgSender",
      "offset": [
        1236,
        1375
      ],
      "op": "SWAP2",
      "path": "75"
    },
    "1113": {
      "fn": "Context._msgSender",
      "offset": [
        1236,
        1375
      ],
      "op": "SUB",
      "path": "75"
    },
    "1114": {
      "fn": "Context._msgSender",
      "offset": [
        1236,
        1375
      ],
      "op": "SWAP1",
      "path": "75"
    },
    "1115": {
      "fn": "Context._msgSender",
      "offset": [
        1236,
        1375
      ],
      "op": "REVERT",
      "optimizer_revert": true,
      "path": "75"
    },
    "1116": {
      "fn": "Context._msgSender",
      "offset": [
        1236,
        1375
      ],
      "op": "JUMPDEST",
      "path": "75"
    },
    "1117": {
      "op": "PUSH1",
      "value": "0x1"
    },
    "1119": {
      "op": "PUSH1",
      "value": "0x1"
    },
    "1121": {
      "op": "PUSH1",
      "value": "0xA0"
    },
    "1123": {
      "op": "SHL"
    },
    "1124": {
      "op": "SUB"
    },
    "1125": {
      "fn": "ComponentController.propose",
      "offset": [
        1757,
        1798
      ],
      "op": "DUP2",
      "path": "75",
      "statement": 4
    },
    "1126": {
      "fn": "ComponentController.propose",
      "offset": [
        1757,
        1798
      ],
      "op": "AND",
      "path": "75"
    },
    "1127": {
      "fn": "ComponentController.propose",
      "offset": [
        1757,
        1798
      ],
      "op": "PUSH1",
      "path": "75",
      "value": "0x0"
    },
    "1129": {
      "fn": "ComponentController.propose",
      "offset": [
        1757,
        1798
      ],
      "op": "SWAP1",
      "path": "75"
    },
    "1130": {
      "fn": "ComponentController.propose",
      "offset": [
        1757,
        1798
      ],
      "op": "DUP2",
      "path": "75"
    },
    "1131": {
      "fn": "ComponentController.propose",
      "offset": [
        1757,
        1798
      ],
      "op": "MSTORE",
      "path": "75"
    },
    "1132": {
      "fn": "ComponentController.propose",
      "offset": [
        1757,
        1778
      ],
      "op": "PUSH1",
      "path": "75",
      "value": "0x4"
    },
    "1134": {
      "fn": "ComponentController.propose",
      "offset": [
        1757,
        1798
      ],
      "op": "PUSH1",
      "path": "75",
      "value": "0x20"
    },
    "1136": {
      "fn": "ComponentController.propose",
      "offset": [
        1757,
        1798
      ],
      "op": "MSTORE",
      "path": "75"
    },
    "1137": {
      "fn": "ComponentController.propose",
      "offset": [
        1757,
        1798
      ],
      "op": "PUSH1",
      "path": "75",
      "value": "0x40"
    },
    "1139": {
      "fn": "ComponentController.propose",
      "offset": [
        1757,
        1798
      ],
      "op": "SWAP1",
      "path": "75"
    },
    "1140": {
      "fn": "ComponentController.propose",
      "offset": [
        1757,
        1798
      ],
      "op": "KECCAK256",
      "path": "75"
    },
    "1141": {
      "fn": "ComponentController.propose",
      "offset": [
        1757,
        1798
      ],
      "op": "SLOAD",
      "path": "75"
    },
    "1142": {
      "branch": 92,
      "fn": "ComponentController.propose",
      "offset": [
        1757,
        1803
      ],
      "op": "ISZERO",
      "path": "75"
    },
    "1143": {
      "fn": "ComponentController.propose",
      "offset": [
        1749,
        1846
      ],
      "op": "PUSH2",
      "path": "75",
      "value": "0x4D1"
    },
    "1146": {
      "branch": 92,
      "fn": "ComponentController.propose",
      "offset": [
        1749,
        1846
      ],
      "op": "JUMPI",
      "path": "75"
    },
    "1147": {
      "fn": "ComponentController.propose",
      "offset": [
        1749,
        1846
      ],
      "op": "PUSH1",
      "path": "75",
      "value": "0x40"
    },
    "1149": {
      "fn": "ComponentController.propose",
      "offset": [
        1749,
        1846
      ],
      "op": "MLOAD",
      "path": "75"
    },
    "1150": {
      "op": "PUSH3",
      "value": "0x461BCD"
    },
    "1154": {
      "op": "PUSH1",
      "value": "0xE5"
    },
    "1156": {
      "op": "SHL"
    },
    "1157": {
      "fn": "ComponentController.propose",
      "offset": [
        1749,
        1846
      ],
      "op": "DUP2",
      "path": "75"
    },
    "1158": {
      "fn": "ComponentController.propose",
      "offset": [
        1749,
        1846
      ],
      "op": "MSTORE",
      "path": "75"
    },
    "1159": {
      "op": "PUSH1",
      "value": "0x20"
    },
    "1161": {
      "fn": "ComponentController.propose",
      "offset": [
        1749,
        1846
      ],
      "op": "PUSH1",
      "path": "75",
      "value": "0x4"
    },
    "1163": {
      "fn": "ComponentController.propose",
      "offset": [
        1749,
        1846
      ],
      "op": "DUP3",
      "path": "75"
    },
    "1164": {
      "fn": "ComponentController.propose",
      "offset": [
        1749,
        1846
      ],
      "op": "ADD",
      "path": "75"
    },
    "1165": {
      "op": "MSTORE"
    },
    "1166": {
      "op": "PUSH1",
      "value": "0x26"
    },
    "1168": {
      "op": "PUSH1",
      "value": "0x24"
    },
    "1170": {
      "op": "DUP3"
    },
    "1171": {
      "op": "ADD"
    },
    "1172": {
      "op": "MSTORE"
    },
    "1173": {
      "op": "PUSH32",
      "value": "0x4552524F523A4343522D3030333A434F4D504F4E454E545F414C52454144595F"
    },
    "1206": {
      "op": "PUSH1",
      "value": "0x44"
    },
    "1208": {
      "op": "DUP3"
    },
    "1209": {
      "op": "ADD"
    },
    "1210": {
      "op": "MSTORE"
    },
    "1211": {
      "op": "PUSH6",
      "value": "0x455849535453"
    },
    "1218": {
      "op": "PUSH1",
      "value": "0xD0"
    },
    "1220": {
      "op": "SHL"
    },
    "1221": {
      "op": "PUSH1",
      "value": "0x64"
    },
    "1223": {
      "op": "DUP3"
    },
    "1224": {
      "op": "ADD"
    },
    "1225": {
      "op": "MSTORE"
    },
    "1226": {
      "op": "PUSH1",
      "value": "0x84"
    },
    "1228": {
      "op": "ADD"
    },
    "1229": {
      "fn": "ComponentController.propose",
      "offset": [
        1749,
        1846
      ],
      "op": "PUSH2",
      "path": "75",
      "value": "0x453"
    },
    "1232": {
      "op": "JUMP"
    },
    "1233": {
      "fn": "ComponentController.propose",
      "offset": [
        1749,
        1846
      ],
      "op": "JUMPDEST",
      "path": "75"
    },
    "1234": {
      "fn": "ComponentController.propose",
      "offset": [
        1864,
        1882
      ],
      "op": "PUSH1",
      "path": "75",
      "statement": 5,
      "value": "0x3"
    },
    "1236": {
      "fn": "ComponentController.propose",
      "offset": [
        1864,
        1903
      ],
      "op": "PUSH1",
      "path": "75",
      "value": "0x0"
    },
    "1238": {
      "fn": "ComponentController.propose",
      "offset": [
        1883,
        1892
      ],
      "op": "DUP3",
      "path": "75"
    },
    "1239": {
      "op": "PUSH1",
      "value": "0x1"
    },
    "1241": {
      "op": "PUSH1",
      "value": "0x1"
    },
    "1243": {
      "op": "PUSH1",
      "value": "0xA0"
    },
    "1245": {
      "op": "SHL"
    },
    "1246": {
      "op": "SUB"
    },
    "1247": {
      "fn": "ComponentController.propose",
      "offset": [
        1883,
        1900
      ],
      "op": "AND",
      "path": "75"
    },
    "1248": {
      "fn": "ComponentController.propose",
      "offset": [
        1883,
        1900
      ],
      "op": "PUSH4",
      "path": "75",
      "value": "0x17D7DE7C"
    },
    "1253": {
      "fn": "ComponentController.propose",
      "offset": [
        1883,
        1902
      ],
      "op": "PUSH1",
      "path": "75",
      "value": "0x40"
    },
    "1255": {
      "fn": "ComponentController.propose",
      "offset": [
        1883,
        1902
      ],
      "op": "MLOAD",
      "path": "75"
    },
    "1256": {
      "fn": "ComponentController.propose",
      "offset": [
        1883,
        1902
      ],
      "op": "DUP2",
      "path": "75"
    },
    "1257": {
      "fn": "ComponentController.propose",
      "offset": [
        1883,
        1902
      ],
      "op": "PUSH4",
      "path": "75",
      "value": "0xFFFFFFFF"
    },
    "1262": {
      "fn": "ComponentController.propose",
      "offset": [
        1883,
        1902
      ],
      "op": "AND",
      "path": "75"
    },
    "1263": {
      "fn": "ComponentController.propose",
      "offset": [
        1883,
        1902
      ],
      "op": "PUSH1",
      "path": "75",
      "value": "0xE0"
    },
    "1265": {
      "fn": "ComponentController.propose",
      "offset": [
        1883,
        1902
      ],
      "op": "SHL",
      "path": "75"
    },
    "1266": {
      "fn": "ComponentController.propose",
      "offset": [
        1883,
        1902
      ],
      "op": "DUP2",
      "path": "75"
    },
    "1267": {
      "fn": "ComponentController.propose",
      "offset": [
        1883,
        1902
      ],
      "op": "MSTORE",
      "path": "75"
    },
    "1268": {
      "fn": "ComponentController.propose",
      "offset": [
        1883,
        1902
      ],
      "op": "PUSH1",
      "path": "75",
      "value": "0x4"
    },
    "1270": {
      "fn": "ComponentController.propose",
      "offset": [
        1883,
        1902
      ],
      "op": "ADD",
      "path": "75"
    },
    "1271": {
      "fn": "ComponentController.propose",
      "offset": [
        1883,
        1902
      ],
      "op": "PUSH1",
      "path": "75",
      "value": "0x20"
    },
    "1273": {
      "fn": "ComponentController.propose",
      "offset": [
        1883,
        1902
      ],
      "op": "PUSH1",
      "path": "75",
      "value": "0x40"
    },
    "1275": {
      "fn": "ComponentController.propose",
      "offset": [
        1883,
        1902
      ],
      "op": "MLOAD",
      "path": "75"
    },
    "1276": {
      "fn": "ComponentController.propose",
      "offset": [
        1883,
        1902
      ],
      "op": "DUP1",
      "path": "75"
    },
    "1277": {
      "fn": "ComponentController.propose",
      "offset": [
        1883,
        1902
      ],
      "op": "DUP4",
      "path": "75"
    },
    "1278": {
      "fn": "ComponentController.propose",
      "offset": [
        1883,
        1902
      ],
      "op": "SUB",
      "path": "75"
    },
    "1279": {
      "fn": "ComponentController.propose",
      "offset": [
        1883,
        1902
      ],
      "op": "DUP2",
      "path": "75"
    },
    "1280": {
      "fn": "ComponentController.propose",
      "offset": [
        1883,
        1902
      ],
      "op": "DUP7",
      "path": "75"
    },
    "1281": {
      "fn": "ComponentController.propose",
      "offset": [
        1883,
        1902
      ],
      "op": "DUP1",
      "path": "75"
    },
    "1282": {
      "fn": "ComponentController.propose",
      "offset": [
        1883,
        1902
      ],
      "op": "EXTCODESIZE",
      "path": "75"
    },
    "1283": {
      "fn": "ComponentController.propose",
      "offset": [
        1883,
        1902
      ],
      "op": "ISZERO",
      "path": "75"
    },
    "1284": {
      "fn": "ComponentController.propose",
      "offset": [
        1883,
        1902
      ],
      "op": "DUP1",
      "path": "75"
    },
    "1285": {
      "fn": "ComponentController.propose",
      "offset": [
        1883,
        1902
      ],
      "op": "ISZERO",
      "path": "75"
    },
    "1286": {
      "fn": "ComponentController.propose",
      "offset": [
        1883,
        1902
      ],
      "op": "PUSH2",
      "path": "75",
      "value": "0x50E"
    },
    "1289": {
      "fn": "ComponentController.propose",
      "offset": [
        1883,
        1902
      ],
      "op": "JUMPI",
      "path": "75"
    },
    "1290": {
      "fn": "ComponentController.propose",
      "offset": [
        1883,
        1902
      ],
      "op": "PUSH1",
      "path": "75",
      "value": "0x0"
    },
    "1292": {
      "fn": "ComponentController.propose",
      "offset": [
        1883,
        1902
      ],
      "op": "DUP1",
      "path": "75"
    },
    "1293": {
      "fn": "ComponentController.propose",
      "offset": [
        1883,
        1902
      ],
      "op": "REVERT",
      "path": "75"
    },
    "1294": {
      "fn": "ComponentController.propose",
      "offset": [
        1883,
        1902
      ],
      "op": "JUMPDEST",
      "path": "75"
    },
    "1295": {
      "fn": "ComponentController.propose",
      "offset": [
        1883,
        1902
      ],
      "op": "POP",
      "path": "75"
    },
    "1296": {
      "fn": "ComponentController.propose",
      "offset": [
        1883,
        1902
      ],
      "op": "GAS",
      "path": "75"
    },
    "1297": {
      "fn": "ComponentController.propose",
      "offset": [
        1883,
        1902
      ],
      "op": "STATICCALL",
      "path": "75"
    },
    "1298": {
      "fn": "ComponentController.propose",
      "offset": [
        1883,
        1902
      ],
      "op": "ISZERO",
      "path": "75"
    },
    "1299": {
      "fn": "ComponentController.propose",
      "offset": [
        1883,
        1902
      ],
      "op": "DUP1",
      "path": "75"
    },
    "1300": {
      "fn": "ComponentController.propose",
      "offset": [
        1883,
        1902
      ],
      "op": "ISZERO",
      "path": "75"
    },
    "1301": {
      "fn": "ComponentController.propose",
      "offset": [
        1883,
        1902
      ],
      "op": "PUSH2",
      "path": "75",
      "value": "0x522"
    },
    "1304": {
      "fn": "ComponentController.propose",
      "offset": [
        1883,
        1902
      ],
      "op": "JUMPI",
      "path": "75"
    },
    "1305": {
      "fn": "ComponentController.propose",
      "offset": [
        1883,
        1902
      ],
      "op": "RETURNDATASIZE",
      "path": "75"
    },
    "1306": {
      "fn": "ComponentController.propose",
      "offset": [
        1883,
        1902
      ],
      "op": "PUSH1",
      "path": "75",
      "value": "0x0"
    },
    "1308": {
      "fn": "ComponentController.propose",
      "offset": [
        1883,
        1902
      ],
      "op": "DUP1",
      "path": "75"
    },
    "1309": {
      "fn": "ComponentController.propose",
      "offset": [
        1883,
        1902
      ],
      "op": "RETURNDATACOPY",
      "path": "75"
    },
    "1310": {
      "fn": "ComponentController.propose",
      "offset": [
        1883,
        1902
      ],
      "op": "RETURNDATASIZE",
      "path": "75"
    },
    "1311": {
      "fn": "ComponentController.propose",
      "offset": [
        1883,
        1902
      ],
      "op": "PUSH1",
      "path": "75",
      "value": "0x0"
    },
    "1313": {
      "fn": "ComponentController.propose",
      "offset": [
        1883,
        1902
      ],
      "op": "REVERT",
      "path": "75"
    },
    "1314": {
      "fn": "ComponentController.propose",
      "offset": [
        1883,
        1902
      ],
      "op": "JUMPDEST",
      "path": "75"
    },
    "1315": {
      "fn": "ComponentController.propose",
      "offset": [
        1883,
        1902
      ],
      "op": "POP",
      "path": "75"
    },
    "1316": {
      "fn": "ComponentController.propose",
      "offset": [
        1883,
        1902
      ],
      "op": "POP",
      "path": "75"
    },
    "1317": {
      "fn": "ComponentController.propose",
      "offset": [
        1883,
        1902
      ],
      "op": "POP",
      "path": "75"
    },
    "1318": {
      "fn": "ComponentController.propose",
      "offset": [
        1883,
        1902
      ],
      "op": "POP",
      "path": "75"
    },
    "1319": {
      "fn": "ComponentController.propose",
      "offset": [
        1883,
        1902
      ],
      "op": "PUSH1",
      "path": "75",
      "value": "0x40"
    },
    "1321": {
      "fn": "ComponentController.propose",
      "offset": [
        1883,
        1902
      ],
      "op": "MLOAD",
      "path": "75"
    },
    "1322": {
      "fn": "ComponentController.propose",
      "offset": [
        1883,
        1902
      ],
      "op": "RETURNDATASIZE",
      "path": "75"
    },
    "1323": {
      "fn": "ComponentController.propose",
      "offset": [
        1883,
        1902
      ],
      "op": "PUSH1",
      "path": "75",
      "value": "0x1F"
    },
    "1325": {
      "fn": "ComponentController.propose",
      "offset": [
        1883,
        1902
      ],
      "op": "NOT",
      "path": "75"
    },
    "1326": {
      "fn": "ComponentController.propose",
      "offset": [
        1883,
        1902
      ],
      "op": "PUSH1",
      "path": "75",
      "value": "0x1F"
    },
    "1328": {
      "fn": "ComponentController.propose",
      "offset": [
        1883,
        1902
      ],
      "op": "DUP3",
      "path": "75"
    },
    "1329": {
      "fn": "ComponentController.propose",
      "offset": [
        1883,
        1902
      ],
      "op": "ADD",
      "path": "75"
    },
    "1330": {
      "fn": "ComponentController.propose",
      "offset": [
        1883,
        1902
      ],
      "op": "AND",
      "path": "75"
    },
    "1331": {
      "fn": "ComponentController.propose",
      "offset": [
        1883,
        1902
      ],
      "op": "DUP3",
      "path": "75"
    },
    "1332": {
      "fn": "ComponentController.propose",
      "offset": [
        1883,
        1902
      ],
      "op": "ADD",
      "path": "75"
    },
    "1333": {
      "fn": "ComponentController.propose",
      "offset": [
        1883,
        1902
      ],
      "op": "DUP1",
      "path": "75"
    },
    "1334": {
      "fn": "ComponentController.propose",
      "offset": [
        1883,
        1902
      ],
      "op": "PUSH1",
      "path": "75",
      "value": "0x40"
    },
    "1336": {
      "fn": "ComponentController.propose",
      "offset": [
        1883,
        1902
      ],
      "op": "MSTORE",
      "path": "75"
    },
    "1337": {
      "fn": "ComponentController.propose",
      "offset": [
        1883,
        1902
      ],
      "op": "POP",
      "path": "75"
    },
    "1338": {
      "fn": "ComponentController.propose",
      "offset": [
        1883,
        1902
      ],
      "op": "DUP2",
      "path": "75"
    },
    "1339": {
      "fn": "ComponentController.propose",
      "offset": [
        1883,
        1902
      ],
      "op": "ADD",
      "path": "75"
    },
    "1340": {
      "fn": "ComponentController.propose",
      "offset": [
        1883,
        1902
      ],
      "op": "SWAP1",
      "path": "75"
    },
    "1341": {
      "fn": "ComponentController.propose",
      "offset": [
        1883,
        1902
      ],
      "op": "PUSH2",
      "path": "75",
      "value": "0x546"
    },
    "1344": {
      "fn": "ComponentController.propose",
      "offset": [
        1883,
        1902
      ],
      "op": "SWAP2",
      "path": "75"
    },
    "1345": {
      "fn": "ComponentController.propose",
      "offset": [
        1883,
        1902
      ],
      "op": "SWAP1",
      "path": "75"
    },
    "1346": {
      "fn": "ComponentController.propose",
      "offset": [
        1883,
        1902
      ],
      "op": "PUSH2",
      "path": "75",
      "value": "0x1FCD"
    },
    "1349": {
      "fn": "ComponentController.propose",
      "jump": "i",
      "offset": [
        1883,
        1902
      ],
      "op": "JUMP",
      "path": "75"
    },
    "1350": {
      "fn": "ComponentController.propose",
      "offset": [
        1883,
        1902
      ],
      "op": "JUMPDEST",
      "path": "75"
    },
    "1351": {
      "fn": "ComponentController.propose",
      "offset": [
        1864,
        1903
      ],
      "op": "DUP2",
      "path": "75"
    },
    "1352": {
      "fn": "ComponentController.propose",
      "offset": [
        1864,
        1903
      ],
      "op": "MSTORE",
      "path": "75"
    },
    "1353": {
      "fn": "ComponentController.propose",
      "offset": [
        1864,
        1903
      ],
      "op": "PUSH1",
      "path": "75",
      "value": "0x20"
    },
    "1355": {
      "fn": "ComponentController.propose",
      "offset": [
        1864,
        1903
      ],
      "op": "ADD",
      "path": "75"
    },
    "1356": {
      "fn": "ComponentController.propose",
      "offset": [
        1864,
        1903
      ],
      "op": "SWAP1",
      "path": "75"
    },
    "1357": {
      "fn": "ComponentController.propose",
      "offset": [
        1864,
        1903
      ],
      "op": "DUP2",
      "path": "75"
    },
    "1358": {
      "fn": "ComponentController.propose",
      "offset": [
        1864,
        1903
      ],
      "op": "MSTORE",
      "path": "75"
    },
    "1359": {
      "fn": "ComponentController.propose",
      "offset": [
        1864,
        1903
      ],
      "op": "PUSH1",
      "path": "75",
      "value": "0x20"
    },
    "1361": {
      "fn": "ComponentController.propose",
      "offset": [
        1864,
        1903
      ],
      "op": "ADD",
      "path": "75"
    },
    "1362": {
      "fn": "ComponentController.propose",
      "offset": [
        1864,
        1903
      ],
      "op": "PUSH1",
      "path": "75",
      "value": "0x0"
    },
    "1364": {
      "fn": "ComponentController.propose",
      "offset": [
        1864,
        1903
      ],
      "op": "KECCAK256",
      "path": "75"
    },
    "1365": {
      "fn": "ComponentController.propose",
      "offset": [
        1864,
        1903
      ],
      "op": "SLOAD",
      "path": "75"
    },
    "1366": {
      "fn": "ComponentController.propose",
      "offset": [
        1907,
        1908
      ],
      "op": "PUSH1",
      "path": "75",
      "value": "0x0"
    },
    "1368": {
      "branch": 93,
      "fn": "ComponentController.propose",
      "offset": [
        1864,
        1908
      ],
      "op": "EQ",
      "path": "75"
    },
    "1369": {
      "fn": "ComponentController.propose",
      "offset": [
        1856,
        1956
      ],
      "op": "PUSH2",
      "path": "75",
      "value": "0x5B8"
    },
    "1372": {
      "branch": 93,
      "fn": "ComponentController.propose",
      "offset": [
        1856,
        1956
      ],
      "op": "JUMPI",
      "path": "75"
    },
    "1373": {
      "fn": "ComponentController.propose",
      "offset": [
        1856,
        1956
      ],
      "op": "PUSH1",
      "path": "75",
      "value": "0x40"
    },
    "1375": {
      "fn": "ComponentController.propose",
      "offset": [
        1856,
        1956
      ],
      "op": "MLOAD",
      "path": "75"
    },
    "1376": {
      "op": "PUSH3",
      "value": "0x461BCD"
    },
    "1380": {
      "op": "PUSH1",
      "value": "0xE5"
    },
    "1382": {
      "op": "SHL"
    },
    "1383": {
      "fn": "ComponentController.propose",
      "offset": [
        1856,
        1956
      ],
      "op": "DUP2",
      "path": "75"
    },
    "1384": {
      "fn": "ComponentController.propose",
      "offset": [
        1856,
        1956
      ],
      "op": "MSTORE",
      "path": "75"
    },
    "1385": {
      "op": "PUSH1",
      "value": "0x20"
    },
    "1387": {
      "fn": "ComponentController.propose",
      "offset": [
        1856,
        1956
      ],
      "op": "PUSH1",
      "path": "75",
      "value": "0x4"
    },
    "1389": {
      "fn": "ComponentController.propose",
      "offset": [
        1856,
        1956
      ],
      "op": "DUP3",
      "path": "75"
    },
    "1390": {
      "fn": "ComponentController.propose",
      "offset": [
        1856,
        1956
      ],
      "op": "ADD",
      "path": "75"
    },
    "1391": {
      "op": "MSTORE"
    },
    "1392": {
      "op": "PUSH1",
      "value": "0x2B"
    },
    "1394": {
      "op": "PUSH1",
      "value": "0x24"
    },
    "1396": {
      "op": "DUP3"
    },
    "1397": {
      "op": "ADD"
    },
    "1398": {
      "op": "MSTORE"
    },
    "1399": {
      "op": "PUSH32",
      "value": "0x4552524F523A4343522D3030343A434F4D504F4E454E545F4E414D455F414C52"
    },
    "1432": {
      "op": "PUSH1",
      "value": "0x44"
    },
    "1434": {
      "op": "DUP3"
    },
    "1435": {
      "op": "ADD"
    },
    "1436": {
      "op": "MSTORE"
    },
    "1437": {
      "op": "PUSH11",
      "value": "0x454144595F455849535453"
    },
    "1449": {
      "op": "PUSH1",
      "value": "0xA8"
    },
    "1451": {
      "op": "SHL"
    },
    "1452": {
      "op": "PUSH1",
      "value": "0x64"
    },
    "1454": {
      "op": "DUP3"
    },
    "1455": {
      "op": "ADD"
    },
    "1456": {
      "op": "MSTORE"
    },
    "1457": {
      "op": "PUSH1",
      "value": "0x84"
    },
    "1459": {
      "op": "ADD"
    },
    "1460": {
      "fn": "ComponentController.propose",
      "offset": [
        1856,
        1956
      ],
      "op": "PUSH2",
      "path": "75",
      "value": "0x453"
    },
    "1463": {
      "op": "JUMP"
    },
    "1464": {
      "fn": "ComponentController.propose",
      "offset": [
        1856,
        1956
      ],
      "op": "JUMPDEST",
      "path": "75"
    },
    "1465": {
      "fn": "ComponentController.propose",
      "offset": [
        2016,
        2026
      ],
      "op": "PUSH1",
      "path": "75",
      "value": "0x0"
    },
    "1467": {
      "fn": "ComponentController.propose",
      "offset": [
        2029,
        2057
      ],
      "op": "PUSH2",
      "path": "75",
      "value": "0x5C3"
    },
    "1470": {
      "fn": "ComponentController.propose",
      "offset": [
        2047,
        2056
      ],
      "op": "DUP3",
      "path": "75"
    },
    "1471": {
      "fn": "ComponentController.propose",
      "offset": [
        2029,
        2046
      ],
      "op": "PUSH2",
      "path": "75",
      "value": "0x1548"
    },
    "1474": {
      "fn": "ComponentController.propose",
      "jump": "i",
      "offset": [
        2029,
        2057
      ],
      "op": "JUMP",
      "path": "75"
    },
    "1475": {
      "fn": "ComponentController.propose",
      "offset": [
        2029,
        2057
      ],
      "op": "JUMPDEST",
      "path": "75"
    },
    "1476": {
      "fn": "ComponentController.propose",
      "offset": [
        2016,
        2057
      ],
      "op": "SWAP1",
      "path": "75"
    },
    "1477": {
      "fn": "ComponentController.propose",
      "offset": [
        2016,
        2057
      ],
      "op": "POP",
      "path": "75"
    },
    "1478": {
      "fn": "ComponentController.propose",
      "offset": [
        2118,
        2253
      ],
      "op": "PUSH32",
      "path": "75",
      "statement": 6,
      "value": "0xD9B3D18A6293C46C667FE6A98468C457078489F2E16E356BB4C77BB2E22D2016"
    },
    "1511": {
      "fn": "ComponentController.propose",
      "offset": [
        2152,
        2161
      ],
      "op": "DUP3",
      "path": "75"
    },
    "1512": {
      "op": "PUSH1",
      "value": "0x1"
    },
    "1514": {
      "op": "PUSH1",
      "value": "0x1"
    },
    "1516": {
      "op": "PUSH1",
      "value": "0xA0"
    },
    "1518": {
      "op": "SHL"
    },
    "1519": {
      "op": "SUB"
    },
    "1520": {
      "fn": "ComponentController.propose",
      "offset": [
        2152,
        2169
      ],
      "op": "AND",
      "path": "75"
    },
    "1521": {
      "fn": "ComponentController.propose",
      "offset": [
        2152,
        2169
      ],
      "op": "PUSH4",
      "path": "75",
      "value": "0x17D7DE7C"
    },
    "1526": {
      "fn": "ComponentController.propose",
      "offset": [
        2152,
        2171
      ],
      "op": "PUSH1",
      "path": "75",
      "value": "0x40"
    },
    "1528": {
      "fn": "ComponentController.propose",
      "offset": [
        2152,
        2171
      ],
      "op": "MLOAD",
      "path": "75"
    },
    "1529": {
      "fn": "ComponentController.propose",
      "offset": [
        2152,
        2171
      ],
      "op": "DUP2",
      "path": "75"
    },
    "1530": {
      "fn": "ComponentController.propose",
      "offset": [
        2152,
        2171
      ],
      "op": "PUSH4",
      "path": "75",
      "value": "0xFFFFFFFF"
    },
    "1535": {
      "fn": "ComponentController.propose",
      "offset": [
        2152,
        2171
      ],
      "op": "AND",
      "path": "75"
    },
    "1536": {
      "fn": "ComponentController.propose",
      "offset": [
        2152,
        2171
      ],
      "op": "PUSH1",
      "path": "75",
      "value": "0xE0"
    },
    "1538": {
      "fn": "ComponentController.propose",
      "offset": [
        2152,
        2171
      ],
      "op": "SHL",
      "path": "75"
    },
    "1539": {
      "fn": "ComponentController.propose",
      "offset": [
        2152,
        2171
      ],
      "op": "DUP2",
      "path": "75"
    },
    "1540": {
      "fn": "ComponentController.propose",
      "offset": [
        2152,
        2171
      ],
      "op": "MSTORE",
      "path": "75"
    },
    "1541": {
      "fn": "ComponentController.propose",
      "offset": [
        2152,
        2171
      ],
      "op": "PUSH1",
      "path": "75",
      "value": "0x4"
    },
    "1543": {
      "fn": "ComponentController.propose",
      "offset": [
        2152,
        2171
      ],
      "op": "ADD",
      "path": "75"
    },
    "1544": {
      "fn": "ComponentController.propose",
      "offset": [
        2152,
        2171
      ],
      "op": "PUSH1",
      "path": "75",
      "value": "0x20"
    },
    "1546": {
      "fn": "ComponentController.propose",
      "offset": [
        2152,
        2171
      ],
      "op": "PUSH1",
      "path": "75",
      "value": "0x40"
    },
    "1548": {
      "fn": "ComponentController.propose",
      "offset": [
        2152,
        2171
      ],
      "op": "MLOAD",
      "path": "75"
    },
    "1549": {
      "fn": "ComponentController.propose",
      "offset": [
        2152,
        2171
      ],
      "op": "DUP1",
      "path": "75"
    },
    "1550": {
      "fn": "ComponentController.propose",
      "offset": [
        2152,
        2171
      ],
      "op": "DUP4",
      "path": "75"
    },
    "1551": {
      "fn": "ComponentController.propose",
      "offset": [
        2152,
        2171
      ],
      "op": "SUB",
      "path": "75"
    },
    "1552": {
      "fn": "ComponentController.propose",
      "offset": [
        2152,
        2171
      ],
      "op": "DUP2",
      "path": "75"
    },
    "1553": {
      "fn": "ComponentController.propose",
      "offset": [
        2152,
        2171
      ],
      "op": "DUP7",
      "path": "75"
    },
    "1554": {
      "fn": "ComponentController.propose",
      "offset": [
        2152,
        2171
      ],
      "op": "DUP1",
      "path": "75"
    },
    "1555": {
      "fn": "ComponentController.propose",
      "offset": [
        2152,
        2171
      ],
      "op": "EXTCODESIZE",
      "path": "75"
    },
    "1556": {
      "fn": "ComponentController.propose",
      "offset": [
        2152,
        2171
      ],
      "op": "ISZERO",
      "path": "75"
    },
    "1557": {
      "fn": "ComponentController.propose",
      "offset": [
        2152,
        2171
      ],
      "op": "DUP1",
      "path": "75"
    },
    "1558": {
      "fn": "ComponentController.propose",
      "offset": [
        2152,
        2171
      ],
      "op": "ISZERO",
      "path": "75"
    },
    "1559": {
      "fn": "ComponentController.propose",
      "offset": [
        2152,
        2171
      ],
      "op": "PUSH2",
      "path": "75",
      "value": "0x61F"
    },
    "1562": {
      "fn": "ComponentController.propose",
      "offset": [
        2152,
        2171
      ],
      "op": "JUMPI",
      "path": "75"
    },
    "1563": {
      "fn": "ComponentController.propose",
      "offset": [
        2152,
        2171
      ],
      "op": "PUSH1",
      "path": "75",
      "value": "0x0"
    },
    "1565": {
      "fn": "ComponentController.propose",
      "offset": [
        2152,
        2171
      ],
      "op": "DUP1",
      "path": "75"
    },
    "1566": {
      "fn": "ComponentController.propose",
      "offset": [
        2152,
        2171
      ],
      "op": "REVERT",
      "path": "75"
    },
    "1567": {
      "fn": "ComponentController.propose",
      "offset": [
        2152,
        2171
      ],
      "op": "JUMPDEST",
      "path": "75"
    },
    "1568": {
      "fn": "ComponentController.propose",
      "offset": [
        2152,
        2171
      ],
      "op": "POP",
      "path": "75"
    },
    "1569": {
      "fn": "ComponentController.propose",
      "offset": [
        2152,
        2171
      ],
      "op": "GAS",
      "path": "75"
    },
    "1570": {
      "fn": "ComponentController.propose",
      "offset": [
        2152,
        2171
      ],
      "op": "STATICCALL",
      "path": "75"
    },
    "1571": {
      "fn": "ComponentController.propose",
      "offset": [
        2152,
        2171
      ],
      "op": "ISZERO",
      "path": "75"
    },
    "1572": {
      "fn": "ComponentController.propose",
      "offset": [
        2152,
        2171
      ],
      "op": "DUP1",
      "path": "75"
    },
    "1573": {
      "fn": "ComponentController.propose",
      "offset": [
        2152,
        2171
      ],
      "op": "ISZERO",
      "path": "75"
    },
    "1574": {
      "fn": "ComponentController.propose",
      "offset": [
        2152,
        2171
      ],
      "op": "PUSH2",
      "path": "75",
      "value": "0x633"
    },
    "1577": {
      "fn": "ComponentController.propose",
      "offset": [
        2152,
        2171
      ],
      "op": "JUMPI",
      "path": "75"
    },
    "1578": {
      "fn": "ComponentController.propose",
      "offset": [
        2152,
        2171
      ],
      "op": "RETURNDATASIZE",
      "path": "75"
    },
    "1579": {
      "fn": "ComponentController.propose",
      "offset": [
        2152,
        2171
      ],
      "op": "PUSH1",
      "path": "75",
      "value": "0x0"
    },
    "1581": {
      "fn": "ComponentController.propose",
      "offset": [
        2152,
        2171
      ],
      "op": "DUP1",
      "path": "75"
    },
    "1582": {
      "fn": "ComponentController.propose",
      "offset": [
        2152,
        2171
      ],
      "op": "RETURNDATACOPY",
      "path": "75"
    },
    "1583": {
      "fn": "ComponentController.propose",
      "offset": [
        2152,
        2171
      ],
      "op": "RETURNDATASIZE",
      "path": "75"
    },
    "1584": {
      "fn": "ComponentController.propose",
      "offset": [
        2152,
        2171
      ],
      "op": "PUSH1",
      "path": "75",
      "value": "0x0"
    },
    "1586": {
      "fn": "ComponentController.propose",
      "offset": [
        2152,
        2171
      ],
      "op": "REVERT",
      "path": "75"
    },
    "1587": {
      "fn": "ComponentController.propose",
      "offset": [
        2152,
        2171
      ],
      "op": "JUMPDEST",
      "path": "75"
    },
    "1588": {
      "fn": "ComponentController.propose",
      "offset": [
        2152,
        2171
      ],
      "op": "POP",
      "path": "75"
    },
    "1589": {
      "fn": "ComponentController.propose",
      "offset": [
        2152,
        2171
      ],
      "op": "POP",
      "path": "75"
    },
    "1590": {
      "fn": "ComponentController.propose",
      "offset": [
        2152,
        2171
      ],
      "op": "POP",
      "path": "75"
    },
    "1591": {
      "fn": "ComponentController.propose",
      "offset": [
        2152,
        2171
      ],
      "op": "POP",
      "path": "75"
    },
    "1592": {
      "fn": "ComponentController.propose",
      "offset": [
        2152,
        2171
      ],
      "op": "PUSH1",
      "path": "75",
      "value": "0x40"
    },
    "1594": {
      "fn": "ComponentController.propose",
      "offset": [
        2152,
        2171
      ],
      "op": "MLOAD",
      "path": "75"
    },
    "1595": {
      "fn": "ComponentController.propose",
      "offset": [
        2152,
        2171
      ],
      "op": "RETURNDATASIZE",
      "path": "75"
    },
    "1596": {
      "fn": "ComponentController.propose",
      "offset": [
        2152,
        2171
      ],
      "op": "PUSH1",
      "path": "75",
      "value": "0x1F"
    },
    "1598": {
      "fn": "ComponentController.propose",
      "offset": [
        2152,
        2171
      ],
      "op": "NOT",
      "path": "75"
    },
    "1599": {
      "fn": "ComponentController.propose",
      "offset": [
        2152,
        2171
      ],
      "op": "PUSH1",
      "path": "75",
      "value": "0x1F"
    },
    "1601": {
      "fn": "ComponentController.propose",
      "offset": [
        2152,
        2171
      ],
      "op": "DUP3",
      "path": "75"
    },
    "1602": {
      "fn": "ComponentController.propose",
      "offset": [
        2152,
        2171
      ],
      "op": "ADD",
      "path": "75"
    },
    "1603": {
      "fn": "ComponentController.propose",
      "offset": [
        2152,
        2171
      ],
      "op": "AND",
      "path": "75"
    },
    "1604": {
      "fn": "ComponentController.propose",
      "offset": [
        2152,
        2171
      ],
      "op": "DUP3",
      "path": "75"
    },
    "1605": {
      "fn": "ComponentController.propose",
      "offset": [
        2152,
        2171
      ],
      "op": "ADD",
      "path": "75"
    },
    "1606": {
      "fn": "ComponentController.propose",
      "offset": [
        2152,
        2171
      ],
      "op": "DUP1",
      "path": "75"
    },
    "1607": {
      "fn": "ComponentController.propose",
      "offset": [
        2152,
        2171
      ],
      "op": "PUSH1",
      "path": "75",
      "value": "0x40"
    },
    "1609": {
      "fn": "ComponentController.propose",
      "offset": [
        2152,
        2171
      ],
      "op": "MSTORE",
      "path": "75"
    },
    "1610": {
      "fn": "ComponentController.propose",
      "offset": [
        2152,
        2171
      ],
      "op": "POP",
      "path": "75"
    },
    "1611": {
      "fn": "ComponentController.propose",
      "offset": [
        2152,
        2171
      ],
      "op": "DUP2",
      "path": "75"
    },
    "1612": {
      "fn": "ComponentController.propose",
      "offset": [
        2152,
        2171
      ],
      "op": "ADD",
      "path": "75"
    },
    "1613": {
      "fn": "ComponentController.propose",
      "offset": [
        2152,
        2171
      ],
      "op": "SWAP1",
      "path": "75"
    },
    "1614": {
      "fn": "ComponentController.propose",
      "offset": [
        2152,
        2171
      ],
      "op": "PUSH2",
      "path": "75",
      "value": "0x657"
    },
    "1617": {
      "fn": "ComponentController.propose",
      "offset": [
        2152,
        2171
      ],
      "op": "SWAP2",
      "path": "75"
    },
    "1618": {
      "fn": "ComponentController.propose",
      "offset": [
        2152,
        2171
      ],
      "op": "SWAP1",
      "path": "75"
    },
    "1619": {
      "fn": "ComponentController.propose",
      "offset": [
        2152,
        2171
      ],
      "op": "PUSH2",
      "path": "75",
      "value": "0x1FCD"
    },
    "1622": {
      "fn": "ComponentController.propose",
      "jump": "i",
      "offset": [
        2152,
        2171
      ],
      "op": "JUMP",
      "path": "75"
    },
    "1623": {
      "fn": "ComponentController.propose",
      "offset": [
        2152,
        2171
      ],
      "op": "JUMPDEST",
      "path": "75"
    },
    "1624": {
      "fn": "ComponentController.propose",
      "offset": [
        2185,
        2194
      ],
      "op": "DUP4",
      "path": "75"
    },
    "1625": {
      "op": "PUSH1",
      "value": "0x1"
    },
    "1627": {
      "op": "PUSH1",
      "value": "0x1"
    },
    "1629": {
      "op": "PUSH1",
      "value": "0xA0"
    },
    "1631": {
      "op": "SHL"
    },
    "1632": {
      "op": "SUB"
    },
    "1633": {
      "fn": "ComponentController.propose",
      "offset": [
        2185,
        2202
      ],
      "op": "AND",
      "path": "75"
    },
    "1634": {
      "fn": "ComponentController.propose",
      "offset": [
        2185,
        2202
      ],
      "op": "PUSH4",
      "path": "75",
      "value": "0x15DAE03E"
    },
    "1639": {
      "fn": "ComponentController.propose",
      "offset": [
        2185,
        2204
      ],
      "op": "PUSH1",
      "path": "75",
      "value": "0x40"
    },
    "1641": {
      "fn": "ComponentController.propose",
      "offset": [
        2185,
        2204
      ],
      "op": "MLOAD",
      "path": "75"
    },
    "1642": {
      "fn": "ComponentController.propose",
      "offset": [
        2185,
        2204
      ],
      "op": "DUP2",
      "path": "75"
    },
    "1643": {
      "fn": "ComponentController.propose",
      "offset": [
        2185,
        2204
      ],
      "op": "PUSH4",
      "path": "75",
      "value": "0xFFFFFFFF"
    },
    "1648": {
      "fn": "ComponentController.propose",
      "offset": [
        2185,
        2204
      ],
      "op": "AND",
      "path": "75"
    },
    "1649": {
      "fn": "ComponentController.propose",
      "offset": [
        2185,
        2204
      ],
      "op": "PUSH1",
      "path": "75",
      "value": "0xE0"
    },
    "1651": {
      "fn": "ComponentController.propose",
      "offset": [
        2185,
        2204
      ],
      "op": "SHL",
      "path": "75"
    },
    "1652": {
      "fn": "ComponentController.propose",
      "offset": [
        2185,
        2204
      ],
      "op": "DUP2",
      "path": "75"
    },
    "1653": {
      "fn": "ComponentController.propose",
      "offset": [
        2185,
        2204
      ],
      "op": "MSTORE",
      "path": "75"
    },
    "1654": {
      "fn": "ComponentController.propose",
      "offset": [
        2185,
        2204
      ],
      "op": "PUSH1",
      "path": "75",
      "value": "0x4"
    },
    "1656": {
      "fn": "ComponentController.propose",
      "offset": [
        2185,
        2204
      ],
      "op": "ADD",
      "path": "75"
    },
    "1657": {
      "fn": "ComponentController.propose",
      "offset": [
        2185,
        2204
      ],
      "op": "PUSH1",
      "path": "75",
      "value": "0x20"
    },
    "1659": {
      "fn": "ComponentController.propose",
      "offset": [
        2185,
        2204
      ],
      "op": "PUSH1",
      "path": "75",
      "value": "0x40"
    },
    "1661": {
      "fn": "ComponentController.propose",
      "offset": [
        2185,
        2204
      ],
      "op": "MLOAD",
      "path": "75"
    },
    "1662": {
      "fn": "ComponentController.propose",
      "offset": [
        2185,
        2204
      ],
      "op": "DUP1",
      "path": "75"
    },
    "1663": {
      "fn": "ComponentController.propose",
      "offset": [
        2185,
        2204
      ],
      "op": "DUP4",
      "path": "75"
    },
    "1664": {
      "fn": "ComponentController.propose",
      "offset": [
        2185,
        2204
      ],
      "op": "SUB",
      "path": "75"
    },
    "1665": {
      "fn": "ComponentController.propose",
      "offset": [
        2185,
        2204
      ],
      "op": "DUP2",
      "path": "75"
    },
    "1666": {
      "fn": "ComponentController.propose",
      "offset": [
        2185,
        2204
      ],
      "op": "DUP7",
      "path": "75"
    },
    "1667": {
      "fn": "ComponentController.propose",
      "offset": [
        2185,
        2204
      ],
      "op": "DUP1",
      "path": "75"
    },
    "1668": {
      "fn": "ComponentController.propose",
      "offset": [
        2185,
        2204
      ],
      "op": "EXTCODESIZE",
      "path": "75"
    },
    "1669": {
      "fn": "ComponentController.propose",
      "offset": [
        2185,
        2204
      ],
      "op": "ISZERO",
      "path": "75"
    },
    "1670": {
      "fn": "ComponentController.propose",
      "offset": [
        2185,
        2204
      ],
      "op": "DUP1",
      "path": "75"
    },
    "1671": {
      "fn": "ComponentController.propose",
      "offset": [
        2185,
        2204
      ],
      "op": "ISZERO",
      "path": "75"
    },
    "1672": {
      "fn": "ComponentController.propose",
      "offset": [
        2185,
        2204
      ],
      "op": "PUSH2",
      "path": "75",
      "value": "0x690"
    },
    "1675": {
      "fn": "ComponentController.propose",
      "offset": [
        2185,
        2204
      ],
      "op": "JUMPI",
      "path": "75"
    },
    "1676": {
      "fn": "ComponentController.propose",
      "offset": [
        2185,
        2204
      ],
      "op": "PUSH1",
      "path": "75",
      "value": "0x0"
    },
    "1678": {
      "fn": "ComponentController.propose",
      "offset": [
        2185,
        2204
      ],
      "op": "DUP1",
      "path": "75"
    },
    "1679": {
      "fn": "ComponentController.propose",
      "offset": [
        2185,
        2204
      ],
      "op": "REVERT",
      "path": "75"
    },
    "1680": {
      "fn": "ComponentController.propose",
      "offset": [
        2185,
        2204
      ],
      "op": "JUMPDEST",
      "path": "75"
    },
    "1681": {
      "fn": "ComponentController.propose",
      "offset": [
        2185,
        2204
      ],
      "op": "POP",
      "path": "75"
    },
    "1682": {
      "fn": "ComponentController.propose",
      "offset": [
        2185,
        2204
      ],
      "op": "GAS",
      "path": "75"
    },
    "1683": {
      "fn": "ComponentController.propose",
      "offset": [
        2185,
        2204
      ],
      "op": "STATICCALL",
      "path": "75"
    },
    "1684": {
      "fn": "ComponentController.propose",
      "offset": [
        2185,
        2204
      ],
      "op": "ISZERO",
      "path": "75"
    },
    "1685": {
      "fn": "ComponentController.propose",
      "offset": [
        2185,
        2204
      ],
      "op": "DUP1",
      "path": "75"
    },
    "1686": {
      "fn": "ComponentController.propose",
      "offset": [
        2185,
        2204
      ],
      "op": "ISZERO",
      "path": "75"
    },
    "1687": {
      "fn": "ComponentController.propose",
      "offset": [
        2185,
        2204
      ],
      "op": "PUSH2",
      "path": "75",
      "value": "0x6A4"
    },
    "1690": {
      "fn": "ComponentController.propose",
      "offset": [
        2185,
        2204
      ],
      "op": "JUMPI",
      "path": "75"
    },
    "1691": {
      "fn": "ComponentController.propose",
      "offset": [
        2185,
        2204
      ],
      "op": "RETURNDATASIZE",
      "path": "75"
    },
    "1692": {
      "fn": "ComponentController.propose",
      "offset": [
        2185,
        2204
      ],
      "op": "PUSH1",
      "path": "75",
      "value": "0x0"
    },
    "1694": {
      "fn": "ComponentController.propose",
      "offset": [
        2185,
        2204
      ],
      "op": "DUP1",
      "path": "75"
    },
    "1695": {
      "fn": "ComponentController.propose",
      "offset": [
        2185,
        2204
      ],
      "op": "RETURNDATACOPY",
      "path": "75"
    },
    "1696": {
      "fn": "ComponentController.propose",
      "offset": [
        2185,
        2204
      ],
      "op": "RETURNDATASIZE",
      "path": "75"
    },
    "1697": {
      "fn": "ComponentController.propose",
      "offset": [
        2185,
        2204
      ],
      "op": "PUSH1",
      "path": "75",
      "value": "0x0"
    },
    "1699": {
      "fn": "ComponentController.propose",
      "offset": [
        2185,
        2204
      ],
      "op": "REVERT",
      "path": "75"
    },
    "1700": {
      "fn": "ComponentController.propose",
      "offset": [
        2185,
        2204
      ],
      "op": "JUMPDEST",
      "path": "75"
    },
    "1701": {
      "fn": "ComponentController.propose",
      "offset": [
        2185,
        2204
      ],
      "op": "POP",
      "path": "75"
    },
    "1702": {
      "fn": "ComponentController.propose",
      "offset": [
        2185,
        2204
      ],
      "op": "POP",
      "path": "75"
    },
    "1703": {
      "fn": "ComponentController.propose",
      "offset": [
        2185,
        2204
      ],
      "op": "POP",
      "path": "75"
    },
    "1704": {
      "fn": "ComponentController.propose",
      "offset": [
        2185,
        2204
      ],
      "op": "POP",
      "path": "75"
    },
    "1705": {
      "fn": "ComponentController.propose",
      "offset": [
        2185,
        2204
      ],
      "op": "PUSH1",
      "path": "75",
      "value": "0x40"
    },
    "1707": {
      "fn": "ComponentController.propose",
      "offset": [
        2185,
        2204
      ],
      "op": "MLOAD",
      "path": "75"
    },
    "1708": {
      "fn": "ComponentController.propose",
      "offset": [
        2185,
        2204
      ],
      "op": "RETURNDATASIZE",
      "path": "75"
    },
    "1709": {
      "fn": "ComponentController.propose",
      "offset": [
        2185,
        2204
      ],
      "op": "PUSH1",
      "path": "75",
      "value": "0x1F"
    },
    "1711": {
      "fn": "ComponentController.propose",
      "offset": [
        2185,
        2204
      ],
      "op": "NOT",
      "path": "75"
    },
    "1712": {
      "fn": "ComponentController.propose",
      "offset": [
        2185,
        2204
      ],
      "op": "PUSH1",
      "path": "75",
      "value": "0x1F"
    },
    "1714": {
      "fn": "ComponentController.propose",
      "offset": [
        2185,
        2204
      ],
      "op": "DUP3",
      "path": "75"
    },
    "1715": {
      "fn": "ComponentController.propose",
      "offset": [
        2185,
        2204
      ],
      "op": "ADD",
      "path": "75"
    },
    "1716": {
      "fn": "ComponentController.propose",
      "offset": [
        2185,
        2204
      ],
      "op": "AND",
      "path": "75"
    },
    "1717": {
      "fn": "ComponentController.propose",
      "offset": [
        2185,
        2204
      ],
      "op": "DUP3",
      "path": "75"
    },
    "1718": {
      "fn": "ComponentController.propose",
      "offset": [
        2185,
        2204
      ],
      "op": "ADD",
      "path": "75"
    },
    "1719": {
      "fn": "ComponentController.propose",
      "offset": [
        2185,
        2204
      ],
      "op": "DUP1",
      "path": "75"
    },
    "1720": {
      "fn": "ComponentController.propose",
      "offset": [
        2185,
        2204
      ],
      "op": "PUSH1",
      "path": "75",
      "value": "0x40"
    },
    "1722": {
      "fn": "ComponentController.propose",
      "offset": [
        2185,
        2204
      ],
      "op": "MSTORE",
      "path": "75"
    },
    "1723": {
      "fn": "ComponentController.propose",
      "offset": [
        2185,
        2204
      ],
      "op": "POP",
      "path": "75"
    },
    "1724": {
      "fn": "ComponentController.propose",
      "offset": [
        2185,
        2204
      ],
      "op": "DUP2",
      "path": "75"
    },
    "1725": {
      "fn": "ComponentController.propose",
      "offset": [
        2185,
        2204
      ],
      "op": "ADD",
      "path": "75"
    },
    "1726": {
      "fn": "ComponentController.propose",
      "offset": [
        2185,
        2204
      ],
      "op": "SWAP1",
      "path": "75"
    },
    "1727": {
      "fn": "ComponentController.propose",
      "offset": [
        2185,
        2204
      ],
      "op": "PUSH2",
      "path": "75",
      "value": "0x6C8"
    },
    "1730": {
      "fn": "ComponentController.propose",
      "offset": [
        2185,
        2204
      ],
      "op": "SWAP2",
      "path": "75"
    },
    "1731": {
      "fn": "ComponentController.propose",
      "offset": [
        2185,
        2204
      ],
      "op": "SWAP1",
      "path": "75"
    },
    "1732": {
      "fn": "ComponentController.propose",
      "offset": [
        2185,
        2204
      ],
      "op": "PUSH2",
      "path": "75",
      "value": "0x2001"
    },
    "1735": {
      "fn": "ComponentController.propose",
      "jump": "i",
      "offset": [
        2185,
        2204
      ],
      "op": "JUMP",
      "path": "75"
    },
    "1736": {
      "fn": "ComponentController.propose",
      "offset": [
        2185,
        2204
      ],
      "op": "JUMPDEST",
      "path": "75"
    },
    "1737": {
      "fn": "ComponentController.propose",
      "offset": [
        2226,
        2235
      ],
      "op": "DUP5",
      "path": "75"
    },
    "1738": {
      "fn": "ComponentController.propose",
      "offset": [
        2250,
        2252
      ],
      "op": "DUP5",
      "path": "75"
    },
    "1739": {
      "fn": "ComponentController.propose",
      "offset": [
        2118,
        2253
      ],
      "op": "PUSH1",
      "path": "75",
      "value": "0x40"
    },
    "1741": {
      "fn": "ComponentController.propose",
      "offset": [
        2118,
        2253
      ],
      "op": "MLOAD",
      "path": "75"
    },
    "1742": {
      "fn": "ComponentController.propose",
      "offset": [
        2118,
        2253
      ],
      "op": "PUSH2",
      "path": "75",
      "value": "0x6DA"
    },
    "1745": {
      "fn": "ComponentController.propose",
      "offset": [
        2118,
        2253
      ],
      "op": "SWAP5",
      "path": "75"
    },
    "1746": {
      "fn": "ComponentController.propose",
      "offset": [
        2118,
        2253
      ],
      "op": "SWAP4",
      "path": "75"
    },
    "1747": {
      "fn": "ComponentController.propose",
      "offset": [
        2118,
        2253
      ],
      "op": "SWAP3",
      "path": "75"
    },
    "1748": {
      "fn": "ComponentController.propose",
      "offset": [
        2118,
        2253
      ],
      "op": "SWAP2",
      "path": "75"
    },
    "1749": {
      "fn": "ComponentController.propose",
      "offset": [
        2118,
        2253
      ],
      "op": "SWAP1",
      "path": "75"
    },
    "1750": {
      "fn": "ComponentController.propose",
      "offset": [
        2118,
        2253
      ],
      "op": "PUSH2",
      "path": "75",
      "value": "0x2059"
    },
    "1753": {
      "fn": "ComponentController.propose",
      "jump": "i",
      "offset": [
        2118,
        2253
      ],
      "op": "JUMP",
      "path": "75"
    },
    "1754": {
      "fn": "ComponentController.propose",
      "offset": [
        2118,
        2253
      ],
      "op": "JUMPDEST",
      "path": "75"
    },
    "1755": {
      "fn": "ComponentController.propose",
      "offset": [
        2118,
        2253
      ],
      "op": "PUSH1",
      "path": "75",
      "value": "0x40"
    },
    "1757": {
      "fn": "ComponentController.propose",
      "offset": [
        2118,
        2253
      ],
      "op": "MLOAD",
      "path": "75"
    },
    "1758": {
      "fn": "ComponentController.propose",
      "offset": [
        2118,
        2253
      ],
      "op": "DUP1",
      "path": "75"
    },
    "1759": {
      "fn": "ComponentController.propose",
      "offset": [
        2118,
        2253
      ],
      "op": "SWAP2",
      "path": "75"
    },
    "1760": {
      "fn": "ComponentController.propose",
      "offset": [
        2118,
        2253
      ],
      "op": "SUB",
      "path": "75"
    },
    "1761": {
      "fn": "ComponentController.propose",
      "offset": [
        2118,
        2253
      ],
      "op": "SWAP1",
      "path": "75"
    },
    "1762": {
      "fn": "ComponentController.propose",
      "offset": [
        2118,
        2253
      ],
      "op": "LOG1",
      "path": "75"
    },
    "1763": {
      "fn": "ComponentController.propose",
      "offset": [
        2326,
        2335
      ],
      "op": "DUP2",
      "path": "75",
      "statement": 7
    },
    "1764": {
      "op": "PUSH1",
      "value": "0x1"
    },
    "1766": {
      "op": "PUSH1",
      "value": "0x1"
    },
    "1768": {
      "op": "PUSH1",
      "value": "0xA0"
    },
    "1770": {
      "op": "SHL"
    },
    "1771": {
      "op": "SUB"
    },
    "1772": {
      "fn": "ComponentController.propose",
      "offset": [
        2326,
        2352
      ],
      "op": "AND",
      "path": "75"
    },
    "1773": {
      "fn": "ComponentController.propose",
      "offset": [
        2326,
        2352
      ],
      "op": "PUSH4",
      "path": "75",
      "value": "0x638CE0BA"
    },
    "1778": {
      "fn": "ComponentController.propose",
      "offset": [
        2326,
        2354
      ],
      "op": "PUSH1",
      "path": "75",
      "value": "0x40"
    },
    "1780": {
      "fn": "ComponentController.propose",
      "offset": [
        2326,
        2354
      ],
      "op": "MLOAD",
      "path": "75"
    },
    "1781": {
      "fn": "ComponentController.propose",
      "offset": [
        2326,
        2354
      ],
      "op": "DUP2",
      "path": "75"
    },
    "1782": {
      "fn": "ComponentController.propose",
      "offset": [
        2326,
        2354
      ],
      "op": "PUSH4",
      "path": "75",
      "value": "0xFFFFFFFF"
    },
    "1787": {
      "fn": "ComponentController.propose",
      "offset": [
        2326,
        2354
      ],
      "op": "AND",
      "path": "75"
    },
    "1788": {
      "fn": "ComponentController.propose",
      "offset": [
        2326,
        2354
      ],
      "op": "PUSH1",
      "path": "75",
      "value": "0xE0"
    },
    "1790": {
      "fn": "ComponentController.propose",
      "offset": [
        2326,
        2354
      ],
      "op": "SHL",
      "path": "75"
    },
    "1791": {
      "fn": "ComponentController.propose",
      "offset": [
        2326,
        2354
      ],
      "op": "DUP2",
      "path": "75"
    },
    "1792": {
      "fn": "ComponentController.propose",
      "offset": [
        2326,
        2354
      ],
      "op": "MSTORE",
      "path": "75"
    },
    "1793": {
      "fn": "ComponentController.propose",
      "offset": [
        2326,
        2354
      ],
      "op": "PUSH1",
      "path": "75",
      "value": "0x4"
    },
    "1795": {
      "fn": "ComponentController.propose",
      "offset": [
        2326,
        2354
      ],
      "op": "ADD",
      "path": "75"
    },
    "1796": {
      "fn": "ComponentController.propose",
      "offset": [
        2326,
        2354
      ],
      "op": "PUSH1",
      "path": "75",
      "value": "0x0"
    },
    "1798": {
      "fn": "ComponentController.propose",
      "offset": [
        2326,
        2354
      ],
      "op": "PUSH1",
      "path": "75",
      "value": "0x40"
    },
    "1800": {
      "fn": "ComponentController.propose",
      "offset": [
        2326,
        2354
      ],
      "op": "MLOAD",
      "path": "75"
    },
    "1801": {
      "fn": "ComponentController.propose",
      "offset": [
        2326,
        2354
      ],
      "op": "DUP1",
      "path": "75"
    },
    "1802": {
      "fn": "ComponentController.propose",
      "offset": [
        2326,
        2354
      ],
      "op": "DUP4",
      "path": "75"
    },
    "1803": {
      "fn": "ComponentController.propose",
      "offset": [
        2326,
        2354
      ],
      "op": "SUB",
      "path": "75"
    },
    "1804": {
      "fn": "ComponentController.propose",
      "offset": [
        2326,
        2354
      ],
      "op": "DUP2",
      "path": "75"
    },
    "1805": {
      "fn": "ComponentController.propose",
      "offset": [
        2326,
        2354
      ],
      "op": "PUSH1",
      "path": "75",
      "value": "0x0"
    },
    "1807": {
      "fn": "ComponentController.propose",
      "offset": [
        2326,
        2354
      ],
      "op": "DUP8",
      "path": "75"
    },
    "1808": {
      "fn": "ComponentController.propose",
      "offset": [
        2326,
        2354
      ],
      "op": "DUP1",
      "path": "75"
    },
    "1809": {
      "fn": "ComponentController.propose",
      "offset": [
        2326,
        2354
      ],
      "op": "EXTCODESIZE",
      "path": "75"
    },
    "1810": {
      "fn": "ComponentController.propose",
      "offset": [
        2326,
        2354
      ],
      "op": "ISZERO",
      "path": "75"
    },
    "1811": {
      "fn": "ComponentController.propose",
      "offset": [
        2326,
        2354
      ],
      "op": "DUP1",
      "path": "75"
    },
    "1812": {
      "fn": "ComponentController.propose",
      "offset": [
        2326,
        2354
      ],
      "op": "ISZERO",
      "path": "75"
    },
    "1813": {
      "fn": "ComponentController.propose",
      "offset": [
        2326,
        2354
      ],
      "op": "PUSH2",
      "path": "75",
      "value": "0x71D"
    },
    "1816": {
      "fn": "ComponentController.propose",
      "offset": [
        2326,
        2354
      ],
      "op": "JUMPI",
      "path": "75"
    },
    "1817": {
      "fn": "ComponentController.propose",
      "offset": [
        2326,
        2354
      ],
      "op": "PUSH1",
      "path": "75",
      "value": "0x0"
    },
    "1819": {
      "fn": "ComponentController.propose",
      "offset": [
        2326,
        2354
      ],
      "op": "DUP1",
      "path": "75"
    },
    "1820": {
      "fn": "ComponentController.propose",
      "offset": [
        2326,
        2354
      ],
      "op": "REVERT",
      "path": "75"
    },
    "1821": {
      "fn": "ComponentController.propose",
      "offset": [
        2326,
        2354
      ],
      "op": "JUMPDEST",
      "path": "75"
    },
    "1822": {
      "fn": "ComponentController.propose",
      "offset": [
        2326,
        2354
      ],
      "op": "POP",
      "path": "75"
    },
    "1823": {
      "fn": "ComponentController.propose",
      "offset": [
        2326,
        2354
      ],
      "op": "GAS",
      "path": "75"
    },
    "1824": {
      "fn": "ComponentController.propose",
      "offset": [
        2326,
        2354
      ],
      "op": "CALL",
      "path": "75"
    },
    "1825": {
      "fn": "ComponentController.propose",
      "offset": [
        2326,
        2354
      ],
      "op": "ISZERO",
      "path": "75"
    },
    "1826": {
      "fn": "ComponentController.propose",
      "offset": [
        2326,
        2354
      ],
      "op": "DUP1",
      "path": "75"
    },
    "1827": {
      "fn": "ComponentController.propose",
      "offset": [
        2326,
        2354
      ],
      "op": "ISZERO",
      "path": "75"
    },
    "1828": {
      "fn": "ComponentController.propose",
      "offset": [
        2326,
        2354
      ],
      "op": "PUSH2",
      "path": "75",
      "value": "0x731"
    },
    "1831": {
      "fn": "ComponentController.propose",
      "offset": [
        2326,
        2354
      ],
      "op": "JUMPI",
      "path": "75"
    },
    "1832": {
      "fn": "ComponentController.propose",
      "offset": [
        2326,
        2354
      ],
      "op": "RETURNDATASIZE",
      "path": "75"
    },
    "1833": {
      "fn": "ComponentController.propose",
      "offset": [
        2326,
        2354
      ],
      "op": "PUSH1",
      "path": "75",
      "value": "0x0"
    },
    "1835": {
      "fn": "ComponentController.propose",
      "offset": [
        2326,
        2354
      ],
      "op": "DUP1",
      "path": "75"
    },
    "1836": {
      "fn": "ComponentController.propose",
      "offset": [
        2326,
        2354
      ],
      "op": "RETURNDATACOPY",
      "path": "75"
    },
    "1837": {
      "fn": "ComponentController.propose",
      "offset": [
        2326,
        2354
      ],
      "op": "RETURNDATASIZE",
      "path": "75"
    },
    "1838": {
      "fn": "ComponentController.propose",
      "offset": [
        2326,
        2354
      ],
      "op": "PUSH1",
      "path": "75",
      "value": "0x0"
    },
    "1840": {
      "fn": "ComponentController.propose",
      "offset": [
        2326,
        2354
      ],
      "op": "REVERT",
      "path": "75"
    },
    "1841": {
      "fn": "ComponentController.propose",
      "offset": [
        2326,
        2354
      ],
      "op": "JUMPDEST",
      "path": "75"
    },
    "1842": {
      "fn": "ComponentController.propose",
      "offset": [
        2326,
        2354
      ],
      "op": "POP",
      "path": "75"
    },
    "1843": {
      "fn": "ComponentController.propose",
      "offset": [
        2326,
        2354
      ],
      "op": "POP",
      "path": "75"
    },
    "1844": {
      "fn": "ComponentController.propose",
      "offset": [
        2326,
        2354
      ],
      "op": "POP",
      "path": "75"
    },
    "1845": {
      "fn": "ComponentController.propose",
      "offset": [
        2326,
        2354
      ],
      "op": "POP",
      "path": "75"
    },
    "1846": {
      "offset": [
        1385,
        1386
      ],
      "op": "POP",
      "path": "75"
    },
    "1847": {
      "fn": "ComponentController.propose",
      "offset": [
        1615,
        2361
      ],
      "op": "POP",
      "path": "75"
    },
    "1848": {
      "fn": "ComponentController.propose",
      "jump": "o",
      "offset": [
        1615,
        2361
      ],
      "op": "JUMP",
      "path": "75"
    },
    "1849": {
      "fn": "ComponentController.isOracle",
      "offset": [
        8843,
        8948
      ],
      "op": "JUMPDEST",
      "path": "75"
    },
    "1850": {
      "fn": "ComponentController.isOracle",
      "offset": [
        8894,
        8898
      ],
      "op": "PUSH1",
      "path": "75",
      "value": "0x0"
    },
    "1852": {
      "fn": "ComponentController.isOracle",
      "offset": [
        8909,
        8945
      ],
      "op": "PUSH2",
      "path": "75",
      "statement": 8,
      "value": "0x746"
    },
    "1855": {
      "fn": "ComponentController.isOracle",
      "offset": [
        8932,
        8940
      ],
      "op": "PUSH1",
      "path": "75",
      "value": "0x8"
    },
    "1857": {
      "fn": "ComponentController.isOracle",
      "offset": [
        8942,
        8944
      ],
      "op": "DUP4",
      "path": "75"
    },
    "1858": {
      "fn": "ComponentController.isOracle",
      "offset": [
        8909,
        8931
      ],
      "op": "PUSH2",
      "path": "75",
      "value": "0x1830"
    },
    "1861": {
      "fn": "ComponentController.isOracle",
      "jump": "i",
      "offset": [
        8909,
        8945
      ],
      "op": "JUMP",
      "path": "75"
    },
    "1862": {
      "fn": "ComponentController.isOracle",
      "offset": [
        8909,
        8945
      ],
      "op": "JUMPDEST",
      "path": "75"
    },
    "1863": {
      "fn": "ComponentController.isOracle",
      "offset": [
        8902,
        8945
      ],
      "op": "SWAP1",
      "path": "75"
    },
    "1864": {
      "fn": "ComponentController.isOracle",
      "offset": [
        8902,
        8945
      ],
      "op": "POP",
      "path": "75"
    },
    "1865": {
      "fn": "ComponentController.isOracle",
      "offset": [
        8843,
        8948
      ],
      "op": "JUMPDEST",
      "path": "75"
    },
    "1866": {
      "fn": "ComponentController.isOracle",
      "offset": [
        8843,
        8948
      ],
      "op": "SWAP2",
      "path": "75"
    },
    "1867": {
      "fn": "ComponentController.isOracle",
      "offset": [
        8843,
        8948
      ],
      "op": "SWAP1",
      "path": "75"
    },
    "1868": {
      "fn": "ComponentController.isOracle",
      "offset": [
        8843,
        8948
      ],
      "op": "POP",
      "path": "75"
    },
    "1869": {
      "fn": "ComponentController.isOracle",
      "jump": "o",
      "offset": [
        8843,
        8948
      ],
      "op": "JUMP",
      "path": "75"
    },
    "1870": {
      "fn": "ComponentController.archiveFromInstanceOperator",
      "offset": [
        5851,
        6207
      ],
      "op": "JUMPDEST",
      "path": "75"
    },
    "1871": {
      "offset": [
        1485,
        1531
      ],
      "op": "PUSH2",
      "path": "75",
      "value": "0x771"
    },
    "1874": {
      "op": "PUSH23",
      "value": "0x496E7374616E63654F70657261746F7253657276696365"
    },
    "1898": {
      "op": "PUSH1",
      "value": "0x48"
    },
    "1900": {
      "op": "SHL"
    },
    "1901": {
      "offset": [
        1485,
        1504
      ],
      "op": "PUSH2",
      "path": "75",
      "value": "0x1460"
    },
    "1904": {
      "jump": "i",
      "offset": [
        1485,
        1531
      ],
      "op": "JUMP",
      "path": "75"
    },
    "1905": {
      "fn": "ComponentController.archiveFromInstanceOperator",
      "offset": [
        1485,
        1531
      ],
      "op": "JUMPDEST",
      "path": "75"
    },
    "1906": {
      "op": "PUSH1",
      "value": "0x1"
    },
    "1908": {
      "op": "PUSH1",
      "value": "0x1"
    },
    "1910": {
      "op": "PUSH1",
      "value": "0xA0"
    },
    "1912": {
      "op": "SHL"
    },
    "1913": {
      "op": "SUB"
    },
    "1914": {
      "offset": [
        1469,
        1531
      ],
      "op": "AND",
      "path": "75"
    },
    "1915": {
      "fn": "Context._msgSender",
      "offset": [
        719,
        729
      ],
      "op": "CALLER",
      "path": "22"
    },
    "1916": {
      "op": "PUSH1",
      "value": "0x1"
    },
    "1918": {
      "op": "PUSH1",
      "value": "0x1"
    },
    "1920": {
      "op": "PUSH1",
      "value": "0xA0"
    },
    "1922": {
      "op": "SHL"
    },
    "1923": {
      "op": "SUB"
    },
    "1924": {
      "offset": [
        1469,
        1531
      ],
      "op": "AND",
      "path": "75"
    },
    "1925": {
      "fn": "Context._msgSender",
      "offset": [
        1469,
        1531
      ],
      "op": "EQ",
      "path": "75"
    },
    "1926": {
      "offset": [
        1448,
        1591
      ],
      "op": "PUSH2",
      "path": "75",
      "value": "0x7A1"
    },
    "1929": {
      "offset": [
        1448,
        1591
      ],
      "op": "JUMPI",
      "path": "75"
    },
    "1930": {
      "fn": "Context._msgSender",
      "offset": [
        1448,
        1591
      ],
      "op": "PUSH1",
      "path": "75",
      "value": "0x40"
    },
    "1932": {
      "fn": "Context._msgSender",
      "offset": [
        1448,
        1591
      ],
      "op": "MLOAD",
      "path": "75"
    },
    "1933": {
      "op": "PUSH3",
      "value": "0x461BCD"
    },
    "1937": {
      "op": "PUSH1",
      "value": "0xE5"
    },
    "1939": {
      "op": "SHL"
    },
    "1940": {
      "offset": [
        1448,
        1591
      ],
      "op": "DUP2",
      "path": "75"
    },
    "1941": {
      "fn": "Context._msgSender",
      "offset": [
        1448,
        1591
      ],
      "op": "MSTORE",
      "path": "75"
    },
    "1942": {
      "fn": "Context._msgSender",
      "offset": [
        1448,
        1591
      ],
      "op": "PUSH1",
      "path": "75",
      "value": "0x4"
    },
    "1944": {
      "fn": "Context._msgSender",
      "offset": [
        1448,
        1591
      ],
      "op": "ADD",
      "path": "75"
    },
    "1945": {
      "fn": "Context._msgSender",
      "offset": [
        1448,
        1591
      ],
      "op": "PUSH2",
      "path": "75",
      "value": "0x453"
    },
    "1948": {
      "fn": "Context._msgSender",
      "offset": [
        1448,
        1591
      ],
      "op": "SWAP1",
      "path": "75"
    },
    "1949": {
      "fn": "Context._msgSender",
      "offset": [
        1448,
        1591
      ],
      "op": "PUSH2",
      "path": "75",
      "value": "0x20A4"
    },
    "1952": {
      "fn": "Context._msgSender",
      "jump": "i",
      "offset": [
        1448,
        1591
      ],
      "op": "JUMP",
      "path": "75"
    },
    "1953": {
      "fn": "Context._msgSender",
      "offset": [
        1448,
        1591
      ],
      "op": "JUMPDEST",
      "path": "75"
    },
    "1954": {
      "fn": "ComponentController.archiveFromInstanceOperator",
      "offset": [
        5970,
        6022
      ],
      "op": "PUSH2",
      "path": "75",
      "statement": 9,
      "value": "0x7AC"
    },
    "1957": {
      "fn": "ComponentController.archiveFromInstanceOperator",
      "offset": [
        5983,
        5985
      ],
      "op": "DUP2",
      "path": "75"
    },
    "1958": {
      "fn": "ComponentController.archiveFromInstanceOperator",
      "offset": [
        5987,
        6021
      ],
      "op": "PUSH1",
      "path": "75",
      "value": "0x6"
    },
    "1960": {
      "fn": "ComponentController.archiveFromInstanceOperator",
      "offset": [
        5970,
        5982
      ],
      "op": "PUSH2",
      "path": "75",
      "value": "0x184D"
    },
    "1963": {
      "fn": "ComponentController.archiveFromInstanceOperator",
      "jump": "i",
      "offset": [
        5970,
        6022
      ],
      "op": "JUMP",
      "path": "75"
    },
    "1964": {
      "fn": "ComponentController.archiveFromInstanceOperator",
      "offset": [
        5970,
        6022
      ],
      "op": "JUMPDEST",
      "path": "75"
    },
    "1965": {
      "fn": "ComponentController.archiveFromInstanceOperator",
      "offset": [
        6037,
        6061
      ],
      "op": "PUSH1",
      "path": "75",
      "statement": 10,
      "value": "0x40"
    },
    "1967": {
      "fn": "ComponentController.archiveFromInstanceOperator",
      "offset": [
        6037,
        6061
      ],
      "op": "MLOAD",
      "path": "75"
    },
    "1968": {
      "op": "DUP2"
    },
    "1969": {
      "op": "DUP2"
    },
    "1970": {
      "op": "MSTORE"
    },
    "1971": {
      "fn": "ComponentController.archiveFromInstanceOperator",
      "offset": [
        6037,
        6061
      ],
      "op": "PUSH32",
      "path": "75",
      "value": "0x9E6D5F1811033619318D2FBE9EE7EC46C830175B39F7885248B51E0DECB5837A"
    },
    "2004": {
      "fn": "ComponentController.archiveFromInstanceOperator",
      "offset": [
        6037,
        6061
      ],
      "op": "SWAP1",
      "path": "75"
    },
    "2005": {
      "op": "PUSH1",
      "value": "0x20"
    },
    "2007": {
      "op": "ADD"
    },
    "2008": {
      "fn": "ComponentController.archiveFromInstanceOperator",
      "offset": [
        6037,
        6061
      ],
      "op": "PUSH1",
      "path": "75",
      "value": "0x40"
    },
    "2010": {
      "fn": "ComponentController.archiveFromInstanceOperator",
      "offset": [
        6037,
        6061
      ],
      "op": "MLOAD",
      "path": "75"
    },
    "2011": {
      "fn": "ComponentController.archiveFromInstanceOperator",
      "offset": [
        6037,
        6061
      ],
      "op": "DUP1",
      "path": "75"
    },
    "2012": {
      "fn": "ComponentController.archiveFromInstanceOperator",
      "offset": [
        6037,
        6061
      ],
      "op": "SWAP2",
      "path": "75"
    },
    "2013": {
      "fn": "ComponentController.archiveFromInstanceOperator",
      "offset": [
        6037,
        6061
      ],
      "op": "SUB",
      "path": "75"
    },
    "2014": {
      "fn": "ComponentController.archiveFromInstanceOperator",
      "offset": [
        6037,
        6061
      ],
      "op": "SWAP1",
      "path": "75"
    },
    "2015": {
      "fn": "ComponentController.archiveFromInstanceOperator",
      "offset": [
        6037,
        6061
      ],
      "op": "LOG1",
      "path": "75"
    },
    "2016": {
      "fn": "ComponentController.archiveFromInstanceOperator",
      "offset": [
        6124,
        6144
      ],
      "op": "PUSH1",
      "path": "75",
      "value": "0x0"
    },
    "2018": {
      "fn": "ComponentController.archiveFromInstanceOperator",
      "offset": [
        6147,
        6163
      ],
      "op": "PUSH2",
      "path": "75",
      "value": "0x7EA"
    },
    "2021": {
      "fn": "ComponentController.archiveFromInstanceOperator",
      "offset": [
        6160,
        6162
      ],
      "op": "DUP3",
      "path": "75"
    },
    "2022": {
      "fn": "ComponentController.archiveFromInstanceOperator",
      "offset": [
        6147,
        6159
      ],
      "op": "PUSH2",
      "path": "75",
      "value": "0xB99"
    },
    "2025": {
      "fn": "ComponentController.archiveFromInstanceOperator",
      "jump": "i",
      "offset": [
        6147,
        6163
      ],
      "op": "JUMP",
      "path": "75"
    },
    "2026": {
      "fn": "ComponentController.archiveFromInstanceOperator",
      "offset": [
        6147,
        6163
      ],
      "op": "JUMPDEST",
      "path": "75"
    },
    "2027": {
      "fn": "ComponentController.archiveFromInstanceOperator",
      "offset": [
        6124,
        6163
      ],
      "op": "SWAP1",
      "path": "75"
    },
    "2028": {
      "fn": "ComponentController.archiveFromInstanceOperator",
      "offset": [
        6124,
        6163
      ],
      "op": "POP",
      "path": "75"
    },
    "2029": {
      "fn": "ComponentController.archiveFromInstanceOperator",
      "offset": [
        6173,
        6182
      ],
      "op": "DUP1",
      "path": "75",
      "statement": 11
    },
    "2030": {
      "op": "PUSH1",
      "value": "0x1"
    },
    "2032": {
      "op": "PUSH1",
      "value": "0x1"
    },
    "2034": {
      "op": "PUSH1",
      "value": "0xA0"
    },
    "2036": {
      "op": "SHL"
    },
    "2037": {
      "op": "SUB"
    },
    "2038": {
      "fn": "ComponentController.archiveFromInstanceOperator",
      "offset": [
        6173,
        6198
      ],
      "op": "AND",
      "path": "75"
    },
    "2039": {
      "fn": "ComponentController.archiveFromInstanceOperator",
      "offset": [
        6173,
        6198
      ],
      "op": "PUSH4",
      "path": "75",
      "value": "0xBE169E7E"
    },
    "2044": {
      "fn": "ComponentController.archiveFromInstanceOperator",
      "offset": [
        6173,
        6200
      ],
      "op": "PUSH1",
      "path": "75",
      "value": "0x40"
    },
    "2046": {
      "fn": "ComponentController.archiveFromInstanceOperator",
      "offset": [
        6173,
        6200
      ],
      "op": "MLOAD",
      "path": "75"
    },
    "2047": {
      "fn": "ComponentController.archiveFromInstanceOperator",
      "offset": [
        6173,
        6200
      ],
      "op": "DUP2",
      "path": "75"
    },
    "2048": {
      "fn": "ComponentController.archiveFromInstanceOperator",
      "offset": [
        6173,
        6200
      ],
      "op": "PUSH4",
      "path": "75",
      "value": "0xFFFFFFFF"
    },
    "2053": {
      "fn": "ComponentController.archiveFromInstanceOperator",
      "offset": [
        6173,
        6200
      ],
      "op": "AND",
      "path": "75"
    },
    "2054": {
      "fn": "ComponentController.archiveFromInstanceOperator",
      "offset": [
        6173,
        6200
      ],
      "op": "PUSH1",
      "path": "75",
      "value": "0xE0"
    },
    "2056": {
      "fn": "ComponentController.archiveFromInstanceOperator",
      "offset": [
        6173,
        6200
      ],
      "op": "SHL",
      "path": "75"
    },
    "2057": {
      "fn": "ComponentController.archiveFromInstanceOperator",
      "offset": [
        6173,
        6200
      ],
      "op": "DUP2",
      "path": "75"
    },
    "2058": {
      "fn": "ComponentController.archiveFromInstanceOperator",
      "offset": [
        6173,
        6200
      ],
      "op": "MSTORE",
      "path": "75"
    },
    "2059": {
      "fn": "ComponentController.archiveFromInstanceOperator",
      "offset": [
        6173,
        6200
      ],
      "op": "PUSH1",
      "path": "75",
      "value": "0x4"
    },
    "2061": {
      "fn": "ComponentController.archiveFromInstanceOperator",
      "offset": [
        6173,
        6200
      ],
      "op": "ADD",
      "path": "75"
    },
    "2062": {
      "fn": "ComponentController.archiveFromInstanceOperator",
      "offset": [
        6173,
        6200
      ],
      "op": "PUSH1",
      "path": "75",
      "value": "0x0"
    },
    "2064": {
      "fn": "ComponentController.archiveFromInstanceOperator",
      "offset": [
        6173,
        6200
      ],
      "op": "PUSH1",
      "path": "75",
      "value": "0x40"
    },
    "2066": {
      "fn": "ComponentController.archiveFromInstanceOperator",
      "offset": [
        6173,
        6200
      ],
      "op": "MLOAD",
      "path": "75"
    },
    "2067": {
      "fn": "ComponentController.archiveFromInstanceOperator",
      "offset": [
        6173,
        6200
      ],
      "op": "DUP1",
      "path": "75"
    },
    "2068": {
      "fn": "ComponentController.archiveFromInstanceOperator",
      "offset": [
        6173,
        6200
      ],
      "op": "DUP4",
      "path": "75"
    },
    "2069": {
      "fn": "ComponentController.archiveFromInstanceOperator",
      "offset": [
        6173,
        6200
      ],
      "op": "SUB",
      "path": "75"
    },
    "2070": {
      "fn": "ComponentController.archiveFromInstanceOperator",
      "offset": [
        6173,
        6200
      ],
      "op": "DUP2",
      "path": "75"
    },
    "2071": {
      "fn": "ComponentController.archiveFromInstanceOperator",
      "offset": [
        6173,
        6200
      ],
      "op": "PUSH1",
      "path": "75",
      "value": "0x0"
    },
    "2073": {
      "fn": "ComponentController.archiveFromInstanceOperator",
      "offset": [
        6173,
        6200
      ],
      "op": "DUP8",
      "path": "75"
    },
    "2074": {
      "fn": "ComponentController.archiveFromInstanceOperator",
      "offset": [
        6173,
        6200
      ],
      "op": "DUP1",
      "path": "75"
    },
    "2075": {
      "fn": "ComponentController.archiveFromInstanceOperator",
      "offset": [
        6173,
        6200
      ],
      "op": "EXTCODESIZE",
      "path": "75"
    },
    "2076": {
      "fn": "ComponentController.archiveFromInstanceOperator",
      "offset": [
        6173,
        6200
      ],
      "op": "ISZERO",
      "path": "75"
    },
    "2077": {
      "fn": "ComponentController.archiveFromInstanceOperator",
      "offset": [
        6173,
        6200
      ],
      "op": "DUP1",
      "path": "75"
    },
    "2078": {
      "fn": "ComponentController.archiveFromInstanceOperator",
      "offset": [
        6173,
        6200
      ],
      "op": "ISZERO",
      "path": "75"
    },
    "2079": {
      "fn": "ComponentController.archiveFromInstanceOperator",
      "offset": [
        6173,
        6200
      ],
      "op": "PUSH2",
      "path": "75",
      "value": "0x71D"
    },
    "2082": {
      "fn": "ComponentController.archiveFromInstanceOperator",
      "offset": [
        6173,
        6200
      ],
      "op": "JUMPI",
      "path": "75"
    },
    "2083": {
      "fn": "ComponentController.archiveFromInstanceOperator",
      "offset": [
        6173,
        6200
      ],
      "op": "PUSH1",
      "path": "75",
      "value": "0x0"
    },
    "2085": {
      "fn": "ComponentController.archiveFromInstanceOperator",
      "offset": [
        6173,
        6200
      ],
      "op": "DUP1",
      "path": "75"
    },
    "2086": {
      "fn": "ComponentController.archiveFromInstanceOperator",
      "offset": [
        6173,
        6200
      ],
      "op": "REVERT",
      "path": "75"
    },
    "2087": {
      "fn": "ComponentController.pause",
      "offset": [
        4825,
        5149
      ],
      "op": "JUMPDEST",
      "path": "75"
    },
    "2088": {
      "offset": [
        1273,
        1317
      ],
      "op": "PUSH2",
      "path": "75",
      "value": "0x848"
    },
    "2091": {
      "op": "PUSH21",
      "value": "0x436F6D706F6E656E744F776E657253657276696365"
    },
    "2113": {
      "op": "PUSH1",
      "value": "0x58"
    },
    "2115": {
      "op": "SHL"
    },
    "2116": {
      "offset": [
        1273,
        1292
      ],
      "op": "PUSH2",
      "path": "75",
      "value": "0x1460"
    },
    "2119": {
      "jump": "i",
      "offset": [
        1273,
        1317
      ],
      "op": "JUMP",
      "path": "75"
    },
    "2120": {
      "fn": "ComponentController.pause",
      "offset": [
        1273,
        1317
      ],
      "op": "JUMPDEST",
      "path": "75"
    },
    "2121": {
      "op": "PUSH1",
      "value": "0x1"
    },
    "2123": {
      "op": "PUSH1",
      "value": "0x1"
    },
    "2125": {
      "op": "PUSH1",
      "value": "0xA0"
    },
    "2127": {
      "op": "SHL"
    },
    "2128": {
      "op": "SUB"
    },
    "2129": {
      "offset": [
        1257,
        1317
      ],
      "op": "AND",
      "path": "75"
    },
    "2130": {
      "fn": "Context._msgSender",
      "offset": [
        719,
        729
      ],
      "op": "CALLER",
      "path": "22"
    },
    "2131": {
      "op": "PUSH1",
      "value": "0x1"
    },
    "2133": {
      "op": "PUSH1",
      "value": "0x1"
    },
    "2135": {
      "op": "PUSH1",
      "value": "0xA0"
    },
    "2137": {
      "op": "SHL"
    },
    "2138": {
      "op": "SUB"
    },
    "2139": {
      "offset": [
        1257,
        1317
      ],
      "op": "AND",
      "path": "75"
    },
    "2140": {
      "fn": "Context._msgSender",
      "offset": [
        1257,
        1317
      ],
      "op": "EQ",
      "path": "75"
    },
    "2141": {
      "offset": [
        1236,
        1375
      ],
      "op": "PUSH2",
      "path": "75",
      "value": "0x878"
    },
    "2144": {
      "offset": [
        1236,
        1375
      ],
      "op": "JUMPI",
      "path": "75"
    },
    "2145": {
      "fn": "Context._msgSender",
      "offset": [
        1236,
        1375
      ],
      "op": "PUSH1",
      "path": "75",
      "value": "0x40"
    },
    "2147": {
      "fn": "Context._msgSender",
      "offset": [
        1236,
        1375
      ],
      "op": "MLOAD",
      "path": "75"
    },
    "2148": {
      "op": "PUSH3",
      "value": "0x461BCD"
    },
    "2152": {
      "op": "PUSH1",
      "value": "0xE5"
    },
    "2154": {
      "op": "SHL"
    },
    "2155": {
      "offset": [
        1236,
        1375
      ],
      "op": "DUP2",
      "path": "75"
    },
    "2156": {
      "fn": "Context._msgSender",
      "offset": [
        1236,
        1375
      ],
      "op": "MSTORE",
      "path": "75"
    },
    "2157": {
      "fn": "Context._msgSender",
      "offset": [
        1236,
        1375
      ],
      "op": "PUSH1",
      "path": "75",
      "value": "0x4"
    },
    "2159": {
      "fn": "Context._msgSender",
      "offset": [
        1236,
        1375
      ],
      "op": "ADD",
      "path": "75"
    },
    "2160": {
      "fn": "Context._msgSender",
      "offset": [
        1236,
        1375
      ],
      "op": "PUSH2",
      "path": "75",
      "value": "0x453"
    },
    "2163": {
      "fn": "Context._msgSender",
      "offset": [
        1236,
        1375
      ],
      "op": "SWAP1",
      "path": "75"
    },
    "2164": {
      "fn": "Context._msgSender",
      "offset": [
        1236,
        1375
      ],
      "op": "PUSH2",
      "path": "75",
      "value": "0x20EF"
    },
    "2167": {
      "fn": "Context._msgSender",
      "jump": "i",
      "offset": [
        1236,
        1375
      ],
      "op": "JUMP",
      "path": "75"
    },
    "2168": {
      "fn": "Context._msgSender",
      "offset": [
        1236,
        1375
      ],
      "op": "JUMPDEST",
      "path": "75"
    },
    "2169": {
      "fn": "ComponentController.pause",
      "offset": [
        4920,
        4970
      ],
      "op": "PUSH2",
      "path": "75",
      "statement": 12,
      "value": "0x883"
    },
    "2172": {
      "fn": "ComponentController.pause",
      "offset": [
        4933,
        4935
      ],
      "op": "DUP2",
      "path": "75"
    },
    "2173": {
      "fn": "ComponentController.pause",
      "offset": [
        4937,
        4969
      ],
      "op": "PUSH1",
      "path": "75",
      "value": "0x4"
    },
    "2175": {
      "fn": "ComponentController.pause",
      "offset": [
        4920,
        4932
      ],
      "op": "PUSH2",
      "path": "75",
      "value": "0x184D"
    },
    "2178": {
      "fn": "ComponentController.pause",
      "jump": "i",
      "offset": [
        4920,
        4970
      ],
      "op": "JUMP",
      "path": "75"
    },
    "2179": {
      "fn": "ComponentController.pause",
      "offset": [
        4920,
        4970
      ],
      "op": "JUMPDEST",
      "path": "75"
    },
    "2180": {
      "fn": "ComponentController.pause",
      "offset": [
        4985,
        5007
      ],
      "op": "PUSH1",
      "path": "75",
      "statement": 13,
      "value": "0x40"
    },
    "2182": {
      "fn": "ComponentController.pause",
      "offset": [
        4985,
        5007
      ],
      "op": "MLOAD",
      "path": "75"
    },
    "2183": {
      "op": "DUP2"
    },
    "2184": {
      "op": "DUP2"
    },
    "2185": {
      "op": "MSTORE"
    },
    "2186": {
      "fn": "ComponentController.pause",
      "offset": [
        4985,
        5007
      ],
      "op": "PUSH32",
      "path": "75",
      "value": "0x45DBC7E529DF39B8D70DE83CC9E1D38C088E6BA21AB836E976F7310F1CBB8AFD"
    },
    "2219": {
      "fn": "ComponentController.pause",
      "offset": [
        4985,
        5007
      ],
      "op": "SWAP1",
      "path": "75"
    },
    "2220": {
      "op": "PUSH1",
      "value": "0x20"
    },
    "2222": {
      "op": "ADD"
    },
    "2223": {
      "fn": "ComponentController.pause",
      "offset": [
        4985,
        5007
      ],
      "op": "PUSH1",
      "path": "75",
      "value": "0x40"
    },
    "2225": {
      "fn": "ComponentController.pause",
      "offset": [
        4985,
        5007
      ],
      "op": "MLOAD",
      "path": "75"
    },
    "2226": {
      "fn": "ComponentController.pause",
      "offset": [
        4985,
        5007
      ],
      "op": "DUP1",
      "path": "75"
    },
    "2227": {
      "fn": "ComponentController.pause",
      "offset": [
        4985,
        5007
      ],
      "op": "SWAP2",
      "path": "75"
    },
    "2228": {
      "fn": "ComponentController.pause",
      "offset": [
        4985,
        5007
      ],
      "op": "SUB",
      "path": "75"
    },
    "2229": {
      "fn": "ComponentController.pause",
      "offset": [
        4985,
        5007
      ],
      "op": "SWAP1",
      "path": "75"
    },
    "2230": {
      "fn": "ComponentController.pause",
      "offset": [
        4985,
        5007
      ],
      "op": "LOG1",
      "path": "75"
    },
    "2231": {
      "fn": "ComponentController.pause",
      "offset": [
        5068,
        5088
      ],
      "op": "PUSH1",
      "path": "75",
      "value": "0x0"
    },
    "2233": {
      "fn": "ComponentController.pause",
      "offset": [
        5091,
        5107
      ],
      "op": "PUSH2",
      "path": "75",
      "value": "0x8C1"
    },
    "2236": {
      "fn": "ComponentController.pause",
      "offset": [
        5104,
        5106
      ],
      "op": "DUP3",
      "path": "75"
    },
    "2237": {
      "fn": "ComponentController.pause",
      "offset": [
        5091,
        5103
      ],
      "op": "PUSH2",
      "path": "75",
      "value": "0xB99"
    },
    "2240": {
      "fn": "ComponentController.pause",
      "jump": "i",
      "offset": [
        5091,
        5107
      ],
      "op": "JUMP",
      "path": "75"
    },
    "2241": {
      "fn": "ComponentController.pause",
      "offset": [
        5091,
        5107
      ],
      "op": "JUMPDEST",
      "path": "75"
    },
    "2242": {
      "fn": "ComponentController.pause",
      "offset": [
        5068,
        5107
      ],
      "op": "SWAP1",
      "path": "75"
    },
    "2243": {
      "fn": "ComponentController.pause",
      "offset": [
        5068,
        5107
      ],
      "op": "POP",
      "path": "75"
    },
    "2244": {
      "fn": "ComponentController.pause",
      "offset": [
        5117,
        5126
      ],
      "op": "DUP1",
      "path": "75",
      "statement": 14
    },
    "2245": {
      "op": "PUSH1",
      "value": "0x1"
    },
    "2247": {
      "op": "PUSH1",
      "value": "0x1"
    },
    "2249": {
      "op": "PUSH1",
      "value": "0xA0"
    },
    "2251": {
      "op": "SHL"
    },
    "2252": {
      "op": "SUB"
    },
    "2253": {
      "fn": "ComponentController.pause",
      "offset": [
        5117,
        5140
      ],
      "op": "AND",
      "path": "75"
    },
    "2254": {
      "fn": "ComponentController.pause",
      "offset": [
        5117,
        5140
      ],
      "op": "PUSH4",
      "path": "75",
      "value": "0xD73CD992"
    },
    "2259": {
      "fn": "ComponentController.pause",
      "offset": [
        5117,
        5142
      ],
      "op": "PUSH1",
      "path": "75",
      "value": "0x40"
    },
    "2261": {
      "fn": "ComponentController.pause",
      "offset": [
        5117,
        5142
      ],
      "op": "MLOAD",
      "path": "75"
    },
    "2262": {
      "fn": "ComponentController.pause",
      "offset": [
        5117,
        5142
      ],
      "op": "DUP2",
      "path": "75"
    },
    "2263": {
      "fn": "ComponentController.pause",
      "offset": [
        5117,
        5142
      ],
      "op": "PUSH4",
      "path": "75",
      "value": "0xFFFFFFFF"
    },
    "2268": {
      "fn": "ComponentController.pause",
      "offset": [
        5117,
        5142
      ],
      "op": "AND",
      "path": "75"
    },
    "2269": {
      "fn": "ComponentController.pause",
      "offset": [
        5117,
        5142
      ],
      "op": "PUSH1",
      "path": "75",
      "value": "0xE0"
    },
    "2271": {
      "fn": "ComponentController.pause",
      "offset": [
        5117,
        5142
      ],
      "op": "SHL",
      "path": "75"
    },
    "2272": {
      "fn": "ComponentController.pause",
      "offset": [
        5117,
        5142
      ],
      "op": "DUP2",
      "path": "75"
    },
    "2273": {
      "fn": "ComponentController.pause",
      "offset": [
        5117,
        5142
      ],
      "op": "MSTORE",
      "path": "75"
    },
    "2274": {
      "fn": "ComponentController.pause",
      "offset": [
        5117,
        5142
      ],
      "op": "PUSH1",
      "path": "75",
      "value": "0x4"
    },
    "2276": {
      "fn": "ComponentController.pause",
      "offset": [
        5117,
        5142
      ],
      "op": "ADD",
      "path": "75"
    },
    "2277": {
      "fn": "ComponentController.pause",
      "offset": [
        5117,
        5142
      ],
      "op": "PUSH1",
      "path": "75",
      "value": "0x0"
    },
    "2279": {
      "fn": "ComponentController.pause",
      "offset": [
        5117,
        5142
      ],
      "op": "PUSH1",
      "path": "75",
      "value": "0x40"
    },
    "2281": {
      "fn": "ComponentController.pause",
      "offset": [
        5117,
        5142
      ],
      "op": "MLOAD",
      "path": "75"
    },
    "2282": {
      "fn": "ComponentController.pause",
      "offset": [
        5117,
        5142
      ],
      "op": "DUP1",
      "path": "75"
    },
    "2283": {
      "fn": "ComponentController.pause",
      "offset": [
        5117,
        5142
      ],
      "op": "DUP4",
      "path": "75"
    },
    "2284": {
      "fn": "ComponentController.pause",
      "offset": [
        5117,
        5142
      ],
      "op": "SUB",
      "path": "75"
    },
    "2285": {
      "fn": "ComponentController.pause",
      "offset": [
        5117,
        5142
      ],
      "op": "DUP2",
      "path": "75"
    },
    "2286": {
      "fn": "ComponentController.pause",
      "offset": [
        5117,
        5142
      ],
      "op": "PUSH1",
      "path": "75",
      "value": "0x0"
    },
    "2288": {
      "fn": "ComponentController.pause",
      "offset": [
        5117,
        5142
      ],
      "op": "DUP8",
      "path": "75"
    },
    "2289": {
      "fn": "ComponentController.pause",
      "offset": [
        5117,
        5142
      ],
      "op": "DUP1",
      "path": "75"
    },
    "2290": {
      "fn": "ComponentController.pause",
      "offset": [
        5117,
        5142
      ],
      "op": "EXTCODESIZE",
      "path": "75"
    },
    "2291": {
      "fn": "ComponentController.pause",
      "offset": [
        5117,
        5142
      ],
      "op": "ISZERO",
      "path": "75"
    },
    "2292": {
      "fn": "ComponentController.pause",
      "offset": [
        5117,
        5142
      ],
      "op": "DUP1",
      "path": "75"
    },
    "2293": {
      "fn": "ComponentController.pause",
      "offset": [
        5117,
        5142
      ],
      "op": "ISZERO",
      "path": "75"
    },
    "2294": {
      "fn": "ComponentController.pause",
      "offset": [
        5117,
        5142
      ],
      "op": "PUSH2",
      "path": "75",
      "value": "0x71D"
    },
    "2297": {
      "fn": "ComponentController.pause",
      "offset": [
        5117,
        5142
      ],
      "op": "JUMPI",
      "path": "75"
    },
    "2298": {
      "fn": "ComponentController.pause",
      "offset": [
        5117,
        5142
      ],
      "op": "PUSH1",
      "path": "75",
      "value": "0x0"
    },
    "2300": {
      "fn": "ComponentController.pause",
      "offset": [
        5117,
        5142
      ],
      "op": "DUP1",
      "path": "75"
    },
    "2301": {
      "fn": "ComponentController.pause",
      "offset": [
        5117,
        5142
      ],
      "op": "REVERT",
      "path": "75"
    },
    "2302": {
      "fn": "ComponentController.oracles",
      "offset": [
        8521,
        8618
      ],
      "op": "JUMPDEST",
      "path": "75"
    },
    "2303": {
      "fn": "ComponentController.oracles",
      "offset": [
        8561,
        8574
      ],
      "op": "PUSH1",
      "path": "75",
      "value": "0x0"
    },
    "2305": {
      "fn": "ComponentController.oracles",
      "offset": [
        8585,
        8615
      ],
      "op": "PUSH2",
      "path": "75",
      "statement": 15,
      "value": "0x90A"
    },
    "2308": {
      "fn": "ComponentController.oracles",
      "offset": [
        8606,
        8614
      ],
      "op": "PUSH1",
      "path": "75",
      "value": "0x8"
    },
    "2310": {
      "fn": "ComponentController.oracles",
      "offset": [
        8585,
        8605
      ],
      "op": "PUSH2",
      "path": "75",
      "value": "0x18E7"
    },
    "2313": {
      "fn": "ComponentController.oracles",
      "jump": "i",
      "offset": [
        8585,
        8615
      ],
      "op": "JUMP",
      "path": "75"
    },
    "2314": {
      "fn": "ComponentController.oracles",
      "offset": [
        8585,
        8615
      ],
      "op": "JUMPDEST",
      "path": "75"
    },
    "2315": {
      "fn": "ComponentController.oracles",
      "offset": [
        8578,
        8615
      ],
      "op": "SWAP1",
      "path": "75"
    },
    "2316": {
      "fn": "ComponentController.oracles",
      "offset": [
        8578,
        8615
      ],
      "op": "POP",
      "path": "75"
    },
    "2317": {
      "fn": "ComponentController.oracles",
      "offset": [
        8521,
        8618
      ],
      "op": "SWAP1",
      "path": "75"
    },
    "2318": {
      "fn": "ComponentController.oracles",
      "jump": "o",
      "offset": [
        8521,
        8618
      ],
      "op": "JUMP",
      "path": "75"
    },
    "2319": {
      "fn": "ComponentController.getComponentId",
      "offset": [
        6432,
        6726
      ],
      "op": "JUMPDEST",
      "path": "75"
    },
    "2320": {
      "fn": "ComponentController.getComponentId",
      "offset": [
        6503,
        6513
      ],
      "op": "PUSH1",
      "path": "75",
      "value": "0x0"
    },
    "2322": {
      "op": "PUSH1",
      "value": "0x1"
    },
    "2324": {
      "op": "PUSH1",
      "value": "0x1"
    },
    "2326": {
      "op": "PUSH1",
      "value": "0xA0"
    },
    "2328": {
      "op": "SHL"
    },
    "2329": {
      "op": "SUB"
    },
    "2330": {
      "fn": "ComponentController.getComponentId",
      "offset": [
        6533,
        6563
      ],
      "op": "DUP3",
      "path": "75",
      "statement": 16
    },
    "2331": {
      "branch": 94,
      "fn": "ComponentController.getComponentId",
      "offset": [
        6533,
        6563
      ],
      "op": "AND",
      "path": "75"
    },
    "2332": {
      "fn": "ComponentController.getComponentId",
      "offset": [
        6525,
        6604
      ],
      "op": "PUSH2",
      "path": "75",
      "value": "0x973"
    },
    "2335": {
      "branch": 94,
      "fn": "ComponentController.getComponentId",
      "offset": [
        6525,
        6604
      ],
      "op": "JUMPI",
      "path": "75"
    },
    "2336": {
      "fn": "ComponentController.getComponentId",
      "offset": [
        6525,
        6604
      ],
      "op": "PUSH1",
      "path": "75",
      "value": "0x40"
    },
    "2338": {
      "fn": "ComponentController.getComponentId",
      "offset": [
        6525,
        6604
      ],
      "op": "MLOAD",
      "path": "75"
    },
    "2339": {
      "op": "PUSH3",
      "value": "0x461BCD"
    },
    "2343": {
      "op": "PUSH1",
      "value": "0xE5"
    },
    "2345": {
      "op": "SHL"
    },
    "2346": {
      "fn": "ComponentController.getComponentId",
      "offset": [
        6525,
        6604
      ],
      "op": "DUP2",
      "path": "75"
    },
    "2347": {
      "fn": "ComponentController.getComponentId",
      "offset": [
        6525,
        6604
      ],
      "op": "MSTORE",
      "path": "75"
    },
    "2348": {
      "op": "PUSH1",
      "value": "0x20"
    },
    "2350": {
      "fn": "ComponentController.getComponentId",
      "offset": [
        6525,
        6604
      ],
      "op": "PUSH1",
      "path": "75",
      "value": "0x4"
    },
    "2352": {
      "fn": "ComponentController.getComponentId",
      "offset": [
        6525,
        6604
      ],
      "op": "DUP3",
      "path": "75"
    },
    "2353": {
      "fn": "ComponentController.getComponentId",
      "offset": [
        6525,
        6604
      ],
      "op": "ADD",
      "path": "75"
    },
    "2354": {
      "op": "MSTORE"
    },
    "2355": {
      "op": "PUSH1",
      "value": "0x24"
    },
    "2357": {
      "op": "DUP1"
    },
    "2358": {
      "op": "DUP3"
    },
    "2359": {
      "op": "ADD"
    },
    "2360": {
      "op": "MSTORE"
    },
    "2361": {
      "op": "PUSH32",
      "value": "0x4552524F523A4343522D3030363A434F4D504F4E454E545F414444524553535F"
    },
    "2394": {
      "op": "PUSH1",
      "value": "0x44"
    },
    "2396": {
      "op": "DUP3"
    },
    "2397": {
      "op": "ADD"
    },
    "2398": {
      "op": "MSTORE"
    },
    "2399": {
      "op": "PUSH4",
      "value": "0x5A45524F"
    },
    "2404": {
      "op": "PUSH1",
      "value": "0xE0"
    },
    "2406": {
      "op": "SHL"
    },
    "2407": {
      "op": "PUSH1",
      "value": "0x64"
    },
    "2409": {
      "op": "DUP3"
    },
    "2410": {
      "op": "ADD"
    },
    "2411": {
      "op": "MSTORE"
    },
    "2412": {
      "op": "PUSH1",
      "value": "0x84"
    },
    "2414": {
      "op": "ADD"
    },
    "2415": {
      "fn": "ComponentController.getComponentId",
      "offset": [
        6525,
        6604
      ],
      "op": "PUSH2",
      "path": "75",
      "value": "0x453"
    },
    "2418": {
      "op": "JUMP"
    },
    "2419": {
      "fn": "ComponentController.getComponentId",
      "offset": [
        6525,
        6604
      ],
      "op": "JUMPDEST",
      "path": "75"
    },
    "2420": {
      "op": "POP"
    },
    "2421": {
      "op": "PUSH1",
      "value": "0x1"
    },
    "2423": {
      "op": "PUSH1",
      "value": "0x1"
    },
    "2425": {
      "op": "PUSH1",
      "value": "0xA0"
    },
    "2427": {
      "op": "SHL"
    },
    "2428": {
      "op": "SUB"
    },
    "2429": {
      "fn": "ComponentController.getComponentId",
      "offset": [
        6619,
        6658
      ],
      "op": "DUP2",
      "path": "75",
      "statement": 17
    },
    "2430": {
      "fn": "ComponentController.getComponentId",
      "offset": [
        6619,
        6658
      ],
      "op": "AND",
      "path": "75"
    },
    "2431": {
      "fn": "ComponentController.getComponentId",
      "offset": [
        6619,
        6658
      ],
      "op": "PUSH1",
      "path": "75",
      "value": "0x0"
    },
    "2433": {
      "fn": "ComponentController.getComponentId",
      "offset": [
        6619,
        6658
      ],
      "op": "SWAP1",
      "path": "75"
    },
    "2434": {
      "fn": "ComponentController.getComponentId",
      "offset": [
        6619,
        6658
      ],
      "op": "DUP2",
      "path": "75"
    },
    "2435": {
      "fn": "ComponentController.getComponentId",
      "offset": [
        6619,
        6658
      ],
      "op": "MSTORE",
      "path": "75"
    },
    "2436": {
      "fn": "ComponentController.getComponentId",
      "offset": [
        6619,
        6640
      ],
      "op": "PUSH1",
      "path": "75",
      "value": "0x4"
    },
    "2438": {
      "fn": "ComponentController.getComponentId",
      "offset": [
        6619,
        6658
      ],
      "op": "PUSH1",
      "path": "75",
      "value": "0x20"
    },
    "2440": {
      "fn": "ComponentController.getComponentId",
      "offset": [
        6619,
        6658
      ],
      "op": "MSTORE",
      "path": "75"
    },
    "2441": {
      "fn": "ComponentController.getComponentId",
      "offset": [
        6619,
        6658
      ],
      "op": "PUSH1",
      "path": "75",
      "value": "0x40"
    },
    "2443": {
      "fn": "ComponentController.getComponentId",
      "offset": [
        6619,
        6658
      ],
      "op": "SWAP1",
      "path": "75"
    },
    "2444": {
      "fn": "ComponentController.getComponentId",
      "offset": [
        6619,
        6658
      ],
      "op": "KECCAK256",
      "path": "75"
    },
    "2445": {
      "fn": "ComponentController.getComponentId",
      "offset": [
        6619,
        6658
      ],
      "op": "SLOAD",
      "path": "75"
    },
    "2446": {
      "branch": 95,
      "fn": "ComponentController.getComponentId",
      "offset": [
        6677,
        6683
      ],
      "op": "DUP1",
      "path": "75",
      "statement": 18
    },
    "2447": {
      "fn": "ComponentController.getComponentId",
      "offset": [
        6669,
        6719
      ],
      "op": "PUSH2",
      "path": "75",
      "value": "0x749"
    },
    "2450": {
      "branch": 95,
      "fn": "ComponentController.getComponentId",
      "offset": [
        6669,
        6719
      ],
      "op": "JUMPI",
      "path": "75"
    },
    "2451": {
      "fn": "ComponentController.getComponentId",
      "offset": [
        6669,
        6719
      ],
      "op": "PUSH1",
      "path": "75",
      "value": "0x40"
    },
    "2453": {
      "fn": "ComponentController.getComponentId",
      "offset": [
        6669,
        6719
      ],
      "op": "MLOAD",
      "path": "75"
    },
    "2454": {
      "op": "PUSH3",
      "value": "0x461BCD"
    },
    "2458": {
      "op": "PUSH1",
      "value": "0xE5"
    },
    "2460": {
      "op": "SHL"
    },
    "2461": {
      "fn": "ComponentController.getComponentId",
      "offset": [
        6669,
        6719
      ],
      "op": "DUP2",
      "path": "75"
    },
    "2462": {
      "fn": "ComponentController.getComponentId",
      "offset": [
        6669,
        6719
      ],
      "op": "MSTORE",
      "path": "75"
    },
    "2463": {
      "op": "PUSH1",
      "value": "0x20"
    },
    "2465": {
      "fn": "ComponentController.getComponentId",
      "offset": [
        6669,
        6719
      ],
      "op": "PUSH1",
      "path": "75",
      "value": "0x4"
    },
    "2467": {
      "fn": "ComponentController.getComponentId",
      "offset": [
        6669,
        6719
      ],
      "op": "DUP3",
      "path": "75"
    },
    "2468": {
      "fn": "ComponentController.getComponentId",
      "offset": [
        6669,
        6719
      ],
      "op": "ADD",
      "path": "75"
    },
    "2469": {
      "op": "MSTORE"
    },
    "2470": {
      "op": "PUSH1",
      "value": "0x1F"
    },
    "2472": {
      "op": "PUSH1",
      "value": "0x24"
    },
    "2474": {
      "op": "DUP3"
    },
    "2475": {
      "op": "ADD"
    },
    "2476": {
      "op": "MSTORE"
    },
    "2477": {
      "op": "PUSH32",
      "value": "0x4552524F523A4343522D3030373A434F4D504F4E454E545F554E4B4E4F574E00"
    },
    "2510": {
      "op": "PUSH1",
      "value": "0x44"
    },
    "2512": {
      "op": "DUP3"
    },
    "2513": {
      "op": "ADD"
    },
    "2514": {
      "op": "MSTORE"
    },
    "2515": {
      "op": "PUSH1",
      "value": "0x64"
    },
    "2517": {
      "op": "ADD"
    },
    "2518": {
      "fn": "ComponentController.getComponentId",
      "offset": [
        6669,
        6719
      ],
      "op": "PUSH2",
      "path": "75",
      "value": "0x453"
    },
    "2521": {
      "op": "JUMP"
    },
    "2522": {
      "fn": "ComponentController.isProduct",
      "offset": [
        8730,
        8837
      ],
      "op": "JUMPDEST",
      "path": "75"
    },
    "2523": {
      "fn": "ComponentController.isProduct",
      "offset": [
        8782,
        8786
      ],
      "op": "PUSH1",
      "path": "75",
      "value": "0x0"
    },
    "2525": {
      "fn": "ComponentController.isProduct",
      "offset": [
        8797,
        8834
      ],
      "op": "PUSH2",
      "path": "75",
      "statement": 19,
      "value": "0x746"
    },
    "2528": {
      "fn": "ComponentController.isProduct",
      "offset": [
        8820,
        8829
      ],
      "op": "PUSH1",
      "path": "75",
      "value": "0x6"
    },
    "2530": {
      "fn": "ComponentController.isProduct",
      "offset": [
        8831,
        8833
      ],
      "op": "DUP4",
      "path": "75"
    },
    "2531": {
      "fn": "ComponentController.isProduct",
      "offset": [
        8797,
        8819
      ],
      "op": "PUSH2",
      "path": "75",
      "value": "0x1830"
    },
    "2534": {
      "fn": "ComponentController.isProduct",
      "jump": "i",
      "offset": [
        8797,
        8834
      ],
      "op": "JUMP",
      "path": "75"
    },
    "2535": {
      "fn": "ComponentController.resume",
      "offset": [
        4489,
        4819
      ],
      "op": "JUMPDEST",
      "path": "75"
    },
    "2536": {
      "offset": [
        1485,
        1531
      ],
      "op": "PUSH2",
      "path": "75",
      "value": "0xA0A"
    },
    "2539": {
      "op": "PUSH23",
      "value": "0x496E7374616E63654F70657261746F7253657276696365"
    },
    "2563": {
      "op": "PUSH1",
      "value": "0x48"
    },
    "2565": {
      "op": "SHL"
    },
    "2566": {
      "offset": [
        1485,
        1504
      ],
      "op": "PUSH2",
      "path": "75",
      "value": "0x1460"
    },
    "2569": {
      "jump": "i",
      "offset": [
        1485,
        1531
      ],
      "op": "JUMP",
      "path": "75"
    },
    "2570": {
      "fn": "ComponentController.resume",
      "offset": [
        1485,
        1531
      ],
      "op": "JUMPDEST",
      "path": "75"
    },
    "2571": {
      "op": "PUSH1",
      "value": "0x1"
    },
    "2573": {
      "op": "PUSH1",
      "value": "0x1"
    },
    "2575": {
      "op": "PUSH1",
      "value": "0xA0"
    },
    "2577": {
      "op": "SHL"
    },
    "2578": {
      "op": "SUB"
    },
    "2579": {
      "offset": [
        1469,
        1531
      ],
      "op": "AND",
      "path": "75"
    },
    "2580": {
      "fn": "Context._msgSender",
      "offset": [
        719,
        729
      ],
      "op": "CALLER",
      "path": "22"
    },
    "2581": {
      "op": "PUSH1",
      "value": "0x1"
    },
    "2583": {
      "op": "PUSH1",
      "value": "0x1"
    },
    "2585": {
      "op": "PUSH1",
      "value": "0xA0"
    },
    "2587": {
      "op": "SHL"
    },
    "2588": {
      "op": "SUB"
    },
    "2589": {
      "offset": [
        1469,
        1531
      ],
      "op": "AND",
      "path": "75"
    },
    "2590": {
      "fn": "Context._msgSender",
      "offset": [
        1469,
        1531
      ],
      "op": "EQ",
      "path": "75"
    },
    "2591": {
      "offset": [
        1448,
        1591
      ],
      "op": "PUSH2",
      "path": "75",
      "value": "0xA3A"
    },
    "2594": {
      "offset": [
        1448,
        1591
      ],
      "op": "JUMPI",
      "path": "75"
    },
    "2595": {
      "fn": "Context._msgSender",
      "offset": [
        1448,
        1591
      ],
      "op": "PUSH1",
      "path": "75",
      "value": "0x40"
    },
    "2597": {
      "fn": "Context._msgSender",
      "offset": [
        1448,
        1591
      ],
      "op": "MLOAD",
      "path": "75"
    },
    "2598": {
      "op": "PUSH3",
      "value": "0x461BCD"
    },
    "2602": {
      "op": "PUSH1",
      "value": "0xE5"
    },
    "2604": {
      "op": "SHL"
    },
    "2605": {
      "offset": [
        1448,
        1591
      ],
      "op": "DUP2",
      "path": "75"
    },
    "2606": {
      "fn": "Context._msgSender",
      "offset": [
        1448,
        1591
      ],
      "op": "MSTORE",
      "path": "75"
    },
    "2607": {
      "fn": "Context._msgSender",
      "offset": [
        1448,
        1591
      ],
      "op": "PUSH1",
      "path": "75",
      "value": "0x4"
    },
    "2609": {
      "fn": "Context._msgSender",
      "offset": [
        1448,
        1591
      ],
      "op": "ADD",
      "path": "75"
    },
    "2610": {
      "fn": "Context._msgSender",
      "offset": [
        1448,
        1591
      ],
      "op": "PUSH2",
      "path": "75",
      "value": "0x453"
    },
    "2613": {
      "fn": "Context._msgSender",
      "offset": [
        1448,
        1591
      ],
      "op": "SWAP1",
      "path": "75"
    },
    "2614": {
      "fn": "Context._msgSender",
      "offset": [
        1448,
        1591
      ],
      "op": "PUSH2",
      "path": "75",
      "value": "0x20A4"
    },
    "2617": {
      "fn": "Context._msgSender",
      "jump": "i",
      "offset": [
        1448,
        1591
      ],
      "op": "JUMP",
      "path": "75"
    },
    "2618": {
      "fn": "Context._msgSender",
      "offset": [
        1448,
        1591
      ],
      "op": "JUMPDEST",
      "path": "75"
    },
    "2619": {
      "fn": "ComponentController.resume",
      "offset": [
        4587,
        4637
      ],
      "op": "PUSH2",
      "path": "75",
      "statement": 20,
      "value": "0xA45"
    },
    "2622": {
      "fn": "ComponentController.resume",
      "offset": [
        4600,
        4602
      ],
      "op": "DUP2",
      "path": "75"
    },
    "2623": {
      "fn": "ComponentController.resume",
      "offset": [
        4604,
        4636
      ],
      "op": "PUSH1",
      "path": "75",
      "value": "0x3"
    },
    "2625": {
      "fn": "ComponentController.resume",
      "offset": [
        4587,
        4599
      ],
      "op": "PUSH2",
      "path": "75",
      "value": "0x184D"
    },
    "2628": {
      "fn": "ComponentController.resume",
      "jump": "i",
      "offset": [
        4587,
        4637
      ],
      "op": "JUMP",
      "path": "75"
    },
    "2629": {
      "fn": "ComponentController.resume",
      "offset": [
        4587,
        4637
      ],
      "op": "JUMPDEST",
      "path": "75"
    },
    "2630": {
      "fn": "ComponentController.resume",
      "offset": [
        4652,
        4675
      ],
      "op": "PUSH1",
      "path": "75",
      "statement": 21,
      "value": "0x40"
    },
    "2632": {
      "fn": "ComponentController.resume",
      "offset": [
        4652,
        4675
      ],
      "op": "MLOAD",
      "path": "75"
    },
    "2633": {
      "op": "DUP2"
    },
    "2634": {
      "op": "DUP2"
    },
    "2635": {
      "op": "MSTORE"
    },
    "2636": {
      "fn": "ComponentController.resume",
      "offset": [
        4652,
        4675
      ],
      "op": "PUSH32",
      "path": "75",
      "value": "0xD24597F0A62B78258EBD8C2FA52051CF673A5000D14D2FB619C91B1ED95C538A"
    },
    "2669": {
      "fn": "ComponentController.resume",
      "offset": [
        4652,
        4675
      ],
      "op": "SWAP1",
      "path": "75"
    },
    "2670": {
      "op": "PUSH1",
      "value": "0x20"
    },
    "2672": {
      "op": "ADD"
    },
    "2673": {
      "fn": "ComponentController.resume",
      "offset": [
        4652,
        4675
      ],
      "op": "PUSH1",
      "path": "75",
      "value": "0x40"
    },
    "2675": {
      "fn": "ComponentController.resume",
      "offset": [
        4652,
        4675
      ],
      "op": "MLOAD",
      "path": "75"
    },
    "2676": {
      "fn": "ComponentController.resume",
      "offset": [
        4652,
        4675
      ],
      "op": "DUP1",
      "path": "75"
    },
    "2677": {
      "fn": "ComponentController.resume",
      "offset": [
        4652,
        4675
      ],
      "op": "SWAP2",
      "path": "75"
    },
    "2678": {
      "fn": "ComponentController.resume",
      "offset": [
        4652,
        4675
      ],
      "op": "SUB",
      "path": "75"
    },
    "2679": {
      "fn": "ComponentController.resume",
      "offset": [
        4652,
        4675
      ],
      "op": "SWAP1",
      "path": "75"
    },
    "2680": {
      "fn": "ComponentController.resume",
      "offset": [
        4652,
        4675
      ],
      "op": "LOG1",
      "path": "75"
    },
    "2681": {
      "fn": "ComponentController.resume",
      "offset": [
        4737,
        4757
      ],
      "op": "PUSH1",
      "path": "75",
      "value": "0x0"
    },
    "2683": {
      "fn": "ComponentController.resume",
      "offset": [
        4760,
        4776
      ],
      "op": "PUSH2",
      "path": "75",
      "value": "0xA83"
    },
    "2686": {
      "fn": "ComponentController.resume",
      "offset": [
        4773,
        4775
      ],
      "op": "DUP3",
      "path": "75"
    },
    "2687": {
      "fn": "ComponentController.resume",
      "offset": [
        4760,
        4772
      ],
      "op": "PUSH2",
      "path": "75",
      "value": "0xB99"
    },
    "2690": {
      "fn": "ComponentController.resume",
      "jump": "i",
      "offset": [
        4760,
        4776
      ],
      "op": "JUMP",
      "path": "75"
    },
    "2691": {
      "fn": "ComponentController.resume",
      "offset": [
        4760,
        4776
      ],
      "op": "JUMPDEST",
      "path": "75"
    },
    "2692": {
      "fn": "ComponentController.resume",
      "offset": [
        4737,
        4776
      ],
      "op": "SWAP1",
      "path": "75"
    },
    "2693": {
      "fn": "ComponentController.resume",
      "offset": [
        4737,
        4776
      ],
      "op": "POP",
      "path": "75"
    },
    "2694": {
      "fn": "ComponentController.resume",
      "offset": [
        4786,
        4795
      ],
      "op": "DUP1",
      "path": "75",
      "statement": 22
    },
    "2695": {
      "op": "PUSH1",
      "value": "0x1"
    },
    "2697": {
      "op": "PUSH1",
      "value": "0x1"
    },
    "2699": {
      "op": "PUSH1",
      "value": "0xA0"
    },
    "2701": {
      "op": "SHL"
    },
    "2702": {
      "op": "SUB"
    },
    "2703": {
      "fn": "ComponentController.resume",
      "offset": [
        4786,
        4810
      ],
      "op": "AND",
      "path": "75"
    },
    "2704": {
      "fn": "ComponentController.resume",
      "offset": [
        4786,
        4810
      ],
      "op": "PUSH4",
      "path": "75",
      "value": "0xA18F5AE2"
    },
    "2709": {
      "fn": "ComponentController.resume",
      "offset": [
        4786,
        4812
      ],
      "op": "PUSH1",
      "path": "75",
      "value": "0x40"
    },
    "2711": {
      "fn": "ComponentController.resume",
      "offset": [
        4786,
        4812
      ],
      "op": "MLOAD",
      "path": "75"
    },
    "2712": {
      "fn": "ComponentController.resume",
      "offset": [
        4786,
        4812
      ],
      "op": "DUP2",
      "path": "75"
    },
    "2713": {
      "fn": "ComponentController.resume",
      "offset": [
        4786,
        4812
      ],
      "op": "PUSH4",
      "path": "75",
      "value": "0xFFFFFFFF"
    },
    "2718": {
      "fn": "ComponentController.resume",
      "offset": [
        4786,
        4812
      ],
      "op": "AND",
      "path": "75"
    },
    "2719": {
      "fn": "ComponentController.resume",
      "offset": [
        4786,
        4812
      ],
      "op": "PUSH1",
      "path": "75",
      "value": "0xE0"
    },
    "2721": {
      "fn": "ComponentController.resume",
      "offset": [
        4786,
        4812
      ],
      "op": "SHL",
      "path": "75"
    },
    "2722": {
      "fn": "ComponentController.resume",
      "offset": [
        4786,
        4812
      ],
      "op": "DUP2",
      "path": "75"
    },
    "2723": {
      "fn": "ComponentController.resume",
      "offset": [
        4786,
        4812
      ],
      "op": "MSTORE",
      "path": "75"
    },
    "2724": {
      "fn": "ComponentController.resume",
      "offset": [
        4786,
        4812
      ],
      "op": "PUSH1",
      "path": "75",
      "value": "0x4"
    },
    "2726": {
      "fn": "ComponentController.resume",
      "offset": [
        4786,
        4812
      ],
      "op": "ADD",
      "path": "75"
    },
    "2727": {
      "fn": "ComponentController.resume",
      "offset": [
        4786,
        4812
      ],
      "op": "PUSH1",
      "path": "75",
      "value": "0x0"
    },
    "2729": {
      "fn": "ComponentController.resume",
      "offset": [
        4786,
        4812
      ],
      "op": "PUSH1",
      "path": "75",
      "value": "0x40"
    },
    "2731": {
      "fn": "ComponentController.resume",
      "offset": [
        4786,
        4812
      ],
      "op": "MLOAD",
      "path": "75"
    },
    "2732": {
      "fn": "ComponentController.resume",
      "offset": [
        4786,
        4812
      ],
      "op": "DUP1",
      "path": "75"
    },
    "2733": {
      "fn": "ComponentController.resume",
      "offset": [
        4786,
        4812
      ],
      "op": "DUP4",
      "path": "75"
    },
    "2734": {
      "fn": "ComponentController.resume",
      "offset": [
        4786,
        4812
      ],
      "op": "SUB",
      "path": "75"
    },
    "2735": {
      "fn": "ComponentController.resume",
      "offset": [
        4786,
        4812
      ],
      "op": "DUP2",
      "path": "75"
    },
    "2736": {
      "fn": "ComponentController.resume",
      "offset": [
        4786,
        4812
      ],
      "op": "PUSH1",
      "path": "75",
      "value": "0x0"
    },
    "2738": {
      "fn": "ComponentController.resume",
      "offset": [
        4786,
        4812
      ],
      "op": "DUP8",
      "path": "75"
    },
    "2739": {
      "fn": "ComponentController.resume",
      "offset": [
        4786,
        4812
      ],
      "op": "DUP1",
      "path": "75"
    },
    "2740": {
      "fn": "ComponentController.resume",
      "offset": [
        4786,
        4812
      ],
      "op": "EXTCODESIZE",
      "path": "75"
    },
    "2741": {
      "fn": "ComponentController.resume",
      "offset": [
        4786,
        4812
      ],
      "op": "ISZERO",
      "path": "75"
    },
    "2742": {
      "fn": "ComponentController.resume",
      "offset": [
        4786,
        4812
      ],
      "op": "DUP1",
      "path": "75"
    },
    "2743": {
      "fn": "ComponentController.resume",
      "offset": [
        4786,
        4812
      ],
      "op": "ISZERO",
      "path": "75"
    },
    "2744": {
      "fn": "ComponentController.resume",
      "offset": [
        4786,
        4812
      ],
      "op": "PUSH2",
      "path": "75",
      "value": "0x71D"
    },
    "2747": {
      "fn": "ComponentController.resume",
      "offset": [
        4786,
        4812
      ],
      "op": "JUMPI",
      "path": "75"
    },
    "2748": {
      "fn": "ComponentController.resume",
      "offset": [
        4786,
        4812
      ],
      "op": "PUSH1",
      "path": "75",
      "value": "0x0"
    },
    "2750": {
      "fn": "ComponentController.resume",
      "offset": [
        4786,
        4812
      ],
      "op": "DUP1",
      "path": "75"
    },
    "2751": {
      "fn": "ComponentController.resume",
      "offset": [
        4786,
        4812
      ],
      "op": "REVERT",
      "path": "75"
    },
    "2752": {
      "fn": "ComponentController.suspend",
      "offset": [
        4144,
        4483
      ],
      "op": "JUMPDEST",
      "path": "75"
    },
    "2753": {
      "offset": [
        1485,
        1531
      ],
      "op": "PUSH2",
      "path": "75",
      "value": "0xAE3"
    },
    "2756": {
      "op": "PUSH23",
      "value": "0x496E7374616E63654F70657261746F7253657276696365"
    },
    "2780": {
      "op": "PUSH1",
      "value": "0x48"
    },
    "2782": {
      "op": "SHL"
    },
    "2783": {
      "offset": [
        1485,
        1504
      ],
      "op": "PUSH2",
      "path": "75",
      "value": "0x1460"
    },
    "2786": {
      "jump": "i",
      "offset": [
        1485,
        1531
      ],
      "op": "JUMP",
      "path": "75"
    },
    "2787": {
      "fn": "ComponentController.suspend",
      "offset": [
        1485,
        1531
      ],
      "op": "JUMPDEST",
      "path": "75"
    },
    "2788": {
      "op": "PUSH1",
      "value": "0x1"
    },
    "2790": {
      "op": "PUSH1",
      "value": "0x1"
    },
    "2792": {
      "op": "PUSH1",
      "value": "0xA0"
    },
    "2794": {
      "op": "SHL"
    },
    "2795": {
      "op": "SUB"
    },
    "2796": {
      "offset": [
        1469,
        1531
      ],
      "op": "AND",
      "path": "75"
    },
    "2797": {
      "fn": "Context._msgSender",
      "offset": [
        719,
        729
      ],
      "op": "CALLER",
      "path": "22"
    },
    "2798": {
      "op": "PUSH1",
      "value": "0x1"
    },
    "2800": {
      "op": "PUSH1",
      "value": "0x1"
    },
    "2802": {
      "op": "PUSH1",
      "value": "0xA0"
    },
    "2804": {
      "op": "SHL"
    },
    "2805": {
      "op": "SUB"
    },
    "2806": {
      "offset": [
        1469,
        1531
      ],
      "op": "AND",
      "path": "75"
    },
    "2807": {
      "fn": "Context._msgSender",
      "offset": [
        1469,
        1531
      ],
      "op": "EQ",
      "path": "75"
    },
    "2808": {
      "offset": [
        1448,
        1591
      ],
      "op": "PUSH2",
      "path": "75",
      "value": "0xB13"
    },
    "2811": {
      "offset": [
        1448,
        1591
      ],
      "op": "JUMPI",
      "path": "75"
    },
    "2812": {
      "fn": "Context._msgSender",
      "offset": [
        1448,
        1591
      ],
      "op": "PUSH1",
      "path": "75",
      "value": "0x40"
    },
    "2814": {
      "fn": "Context._msgSender",
      "offset": [
        1448,
        1591
      ],
      "op": "MLOAD",
      "path": "75"
    },
    "2815": {
      "op": "PUSH3",
      "value": "0x461BCD"
    },
    "2819": {
      "op": "PUSH1",
      "value": "0xE5"
    },
    "2821": {
      "op": "SHL"
    },
    "2822": {
      "offset": [
        1448,
        1591
      ],
      "op": "DUP2",
      "path": "75"
    },
    "2823": {
      "fn": "Context._msgSender",
      "offset": [
        1448,
        1591
      ],
      "op": "MSTORE",
      "path": "75"
    },
    "2824": {
      "fn": "Context._msgSender",
      "offset": [
        1448,
        1591
      ],
      "op": "PUSH1",
      "path": "75",
      "value": "0x4"
    },
    "2826": {
      "fn": "Context._msgSender",
      "offset": [
        1448,
        1591
      ],
      "op": "ADD",
      "path": "75"
    },
    "2827": {
      "fn": "Context._msgSender",
      "offset": [
        1448,
        1591
      ],
      "op": "PUSH2",
      "path": "75",
      "value": "0x453"
    },
    "2830": {
      "fn": "Context._msgSender",
      "offset": [
        1448,
        1591
      ],
      "op": "SWAP1",
      "path": "75"
    },
    "2831": {
      "fn": "Context._msgSender",
      "offset": [
        1448,
        1591
      ],
      "op": "PUSH2",
      "path": "75",
      "value": "0x20A4"
    },
    "2834": {
      "fn": "Context._msgSender",
      "jump": "i",
      "offset": [
        1448,
        1591
      ],
      "op": "JUMP",
      "path": "75"
    },
    "2835": {
      "fn": "Context._msgSender",
      "offset": [
        1448,
        1591
      ],
      "op": "JUMPDEST",
      "path": "75"
    },
    "2836": {
      "fn": "ComponentController.suspend",
      "offset": [
        4243,
        4296
      ],
      "op": "PUSH2",
      "path": "75",
      "statement": 23,
      "value": "0xB1E"
    },
    "2839": {
      "fn": "ComponentController.suspend",
      "offset": [
        4256,
        4258
      ],
      "op": "DUP2",
      "path": "75"
    },
    "2840": {
      "fn": "ComponentController.suspend",
      "offset": [
        4260,
        4295
      ],
      "op": "PUSH1",
      "path": "75",
      "value": "0x5"
    },
    "2842": {
      "fn": "ComponentController.suspend",
      "offset": [
        4243,
        4255
      ],
      "op": "PUSH2",
      "path": "75",
      "value": "0x184D"
    },
    "2845": {
      "fn": "ComponentController.suspend",
      "jump": "i",
      "offset": [
        4243,
        4296
      ],
      "op": "JUMP",
      "path": "75"
    },
    "2846": {
      "fn": "ComponentController.suspend",
      "offset": [
        4243,
        4296
      ],
      "op": "JUMPDEST",
      "path": "75"
    },
    "2847": {
      "fn": "ComponentController.suspend",
      "offset": [
        4311,
        4336
      ],
      "op": "PUSH1",
      "path": "75",
      "statement": 24,
      "value": "0x40"
    },
    "2849": {
      "fn": "ComponentController.suspend",
      "offset": [
        4311,
        4336
      ],
      "op": "MLOAD",
      "path": "75"
    },
    "2850": {
      "op": "DUP2"
    },
    "2851": {
      "op": "DUP2"
    },
    "2852": {
      "op": "MSTORE"
    },
    "2853": {
      "fn": "ComponentController.suspend",
      "offset": [
        4311,
        4336
      ],
      "op": "PUSH32",
      "path": "75",
      "value": "0x55D2D8495549E354E6EE012C5AA183EB0E08EE2F256349AFB0F7F74D1940F9B3"
    },
    "2886": {
      "fn": "ComponentController.suspend",
      "offset": [
        4311,
        4336
      ],
      "op": "SWAP1",
      "path": "75"
    },
    "2887": {
      "op": "PUSH1",
      "value": "0x20"
    },
    "2889": {
      "op": "ADD"
    },
    "2890": {
      "fn": "ComponentController.suspend",
      "offset": [
        4311,
        4336
      ],
      "op": "PUSH1",
      "path": "75",
      "value": "0x40"
    },
    "2892": {
      "fn": "ComponentController.suspend",
      "offset": [
        4311,
        4336
      ],
      "op": "MLOAD",
      "path": "75"
    },
    "2893": {
      "fn": "ComponentController.suspend",
      "offset": [
        4311,
        4336
      ],
      "op": "DUP1",
      "path": "75"
    },
    "2894": {
      "fn": "ComponentController.suspend",
      "offset": [
        4311,
        4336
      ],
      "op": "SWAP2",
      "path": "75"
    },
    "2895": {
      "fn": "ComponentController.suspend",
      "offset": [
        4311,
        4336
      ],
      "op": "SUB",
      "path": "75"
    },
    "2896": {
      "fn": "ComponentController.suspend",
      "offset": [
        4311,
        4336
      ],
      "op": "SWAP1",
      "path": "75"
    },
    "2897": {
      "fn": "ComponentController.suspend",
      "offset": [
        4311,
        4336
      ],
      "op": "LOG1",
      "path": "75"
    },
    "2898": {
      "fn": "ComponentController.suspend",
      "offset": [
        4400,
        4420
      ],
      "op": "PUSH1",
      "path": "75",
      "value": "0x0"
    },
    "2900": {
      "fn": "ComponentController.suspend",
      "offset": [
        4423,
        4439
      ],
      "op": "PUSH2",
      "path": "75",
      "value": "0xB5C"
    },
    "2903": {
      "fn": "ComponentController.suspend",
      "offset": [
        4436,
        4438
      ],
      "op": "DUP3",
      "path": "75"
    },
    "2904": {
      "fn": "ComponentController.suspend",
      "offset": [
        4423,
        4435
      ],
      "op": "PUSH2",
      "path": "75",
      "value": "0xB99"
    },
    "2907": {
      "fn": "ComponentController.suspend",
      "jump": "i",
      "offset": [
        4423,
        4439
      ],
      "op": "JUMP",
      "path": "75"
    },
    "2908": {
      "fn": "ComponentController.suspend",
      "offset": [
        4423,
        4439
      ],
      "op": "JUMPDEST",
      "path": "75"
    },
    "2909": {
      "fn": "ComponentController.suspend",
      "offset": [
        4400,
        4439
      ],
      "op": "SWAP1",
      "path": "75"
    },
    "2910": {
      "fn": "ComponentController.suspend",
      "offset": [
        4400,
        4439
      ],
      "op": "POP",
      "path": "75"
    },
    "2911": {
      "fn": "ComponentController.suspend",
      "offset": [
        4449,
        4458
      ],
      "op": "DUP1",
      "path": "75",
      "statement": 25
    },
    "2912": {
      "op": "PUSH1",
      "value": "0x1"
    },
    "2914": {
      "op": "PUSH1",
      "value": "0x1"
    },
    "2916": {
      "op": "PUSH1",
      "value": "0xA0"
    },
    "2918": {
      "op": "SHL"
    },
    "2919": {
      "op": "SUB"
    },
    "2920": {
      "fn": "ComponentController.suspend",
      "offset": [
        4449,
        4474
      ],
      "op": "AND",
      "path": "75"
    },
    "2921": {
      "fn": "ComponentController.suspend",
      "offset": [
        4449,
        4474
      ],
      "op": "PUSH4",
      "path": "75",
      "value": "0xB3FCA9BD"
    },
    "2926": {
      "fn": "ComponentController.suspend",
      "offset": [
        4449,
        4476
      ],
      "op": "PUSH1",
      "path": "75",
      "value": "0x40"
    },
    "2928": {
      "fn": "ComponentController.suspend",
      "offset": [
        4449,
        4476
      ],
      "op": "MLOAD",
      "path": "75"
    },
    "2929": {
      "fn": "ComponentController.suspend",
      "offset": [
        4449,
        4476
      ],
      "op": "DUP2",
      "path": "75"
    },
    "2930": {
      "fn": "ComponentController.suspend",
      "offset": [
        4449,
        4476
      ],
      "op": "PUSH4",
      "path": "75",
      "value": "0xFFFFFFFF"
    },
    "2935": {
      "fn": "ComponentController.suspend",
      "offset": [
        4449,
        4476
      ],
      "op": "AND",
      "path": "75"
    },
    "2936": {
      "fn": "ComponentController.suspend",
      "offset": [
        4449,
        4476
      ],
      "op": "PUSH1",
      "path": "75",
      "value": "0xE0"
    },
    "2938": {
      "fn": "ComponentController.suspend",
      "offset": [
        4449,
        4476
      ],
      "op": "SHL",
      "path": "75"
    },
    "2939": {
      "fn": "ComponentController.suspend",
      "offset": [
        4449,
        4476
      ],
      "op": "DUP2",
      "path": "75"
    },
    "2940": {
      "fn": "ComponentController.suspend",
      "offset": [
        4449,
        4476
      ],
      "op": "MSTORE",
      "path": "75"
    },
    "2941": {
      "fn": "ComponentController.suspend",
      "offset": [
        4449,
        4476
      ],
      "op": "PUSH1",
      "path": "75",
      "value": "0x4"
    },
    "2943": {
      "fn": "ComponentController.suspend",
      "offset": [
        4449,
        4476
      ],
      "op": "ADD",
      "path": "75"
    },
    "2944": {
      "fn": "ComponentController.suspend",
      "offset": [
        4449,
        4476
      ],
      "op": "PUSH1",
      "path": "75",
      "value": "0x0"
    },
    "2946": {
      "fn": "ComponentController.suspend",
      "offset": [
        4449,
        4476
      ],
      "op": "PUSH1",
      "path": "75",
      "value": "0x40"
    },
    "2948": {
      "fn": "ComponentController.suspend",
      "offset": [
        4449,
        4476
      ],
      "op": "MLOAD",
      "path": "75"
    },
    "2949": {
      "fn": "ComponentController.suspend",
      "offset": [
        4449,
        4476
      ],
      "op": "DUP1",
      "path": "75"
    },
    "2950": {
      "fn": "ComponentController.suspend",
      "offset": [
        4449,
        4476
      ],
      "op": "DUP4",
      "path": "75"
    },
    "2951": {
      "fn": "ComponentController.suspend",
      "offset": [
        4449,
        4476
      ],
      "op": "SUB",
      "path": "75"
    },
    "2952": {
      "fn": "ComponentController.suspend",
      "offset": [
        4449,
        4476
      ],
      "op": "DUP2",
      "path": "75"
    },
    "2953": {
      "fn": "ComponentController.suspend",
      "offset": [
        4449,
        4476
      ],
      "op": "PUSH1",
      "path": "75",
      "value": "0x0"
    },
    "2955": {
      "fn": "ComponentController.suspend",
      "offset": [
        4449,
        4476
      ],
      "op": "DUP8",
      "path": "75"
    },
    "2956": {
      "fn": "ComponentController.suspend",
      "offset": [
        4449,
        4476
      ],
      "op": "DUP1",
      "path": "75"
    },
    "2957": {
      "fn": "ComponentController.suspend",
      "offset": [
        4449,
        4476
      ],
      "op": "EXTCODESIZE",
      "path": "75"
    },
    "2958": {
      "fn": "ComponentController.suspend",
      "offset": [
        4449,
        4476
      ],
      "op": "ISZERO",
      "path": "75"
    },
    "2959": {
      "fn": "ComponentController.suspend",
      "offset": [
        4449,
        4476
      ],
      "op": "DUP1",
      "path": "75"
    },
    "2960": {
      "fn": "ComponentController.suspend",
      "offset": [
        4449,
        4476
      ],
      "op": "ISZERO",
      "path": "75"
    },
    "2961": {
      "fn": "ComponentController.suspend",
      "offset": [
        4449,
        4476
      ],
      "op": "PUSH2",
      "path": "75",
      "value": "0x71D"
    },
    "2964": {
      "fn": "ComponentController.suspend",
      "offset": [
        4449,
        4476
      ],
      "op": "JUMPI",
      "path": "75"
    },
    "2965": {
      "fn": "ComponentController.suspend",
      "offset": [
        4449,
        4476
      ],
      "op": "PUSH1",
      "path": "75",
      "value": "0x0"
    },
    "2967": {
      "fn": "ComponentController.suspend",
      "offset": [
        4449,
        4476
      ],
      "op": "DUP1",
      "path": "75"
    },
    "2968": {
      "fn": "ComponentController.suspend",
      "offset": [
        4449,
        4476
      ],
      "op": "REVERT",
      "path": "75"
    },
    "2969": {
      "fn": "ComponentController.getComponent",
      "offset": [
        6213,
        6426
      ],
      "op": "JUMPDEST",
      "path": "75"
    },
    "2970": {
      "fn": "ComponentController.getComponent",
      "offset": [
        6268,
        6288
      ],
      "op": "PUSH1",
      "path": "75",
      "value": "0x0"
    },
    "2972": {
      "fn": "ComponentController.getComponent",
      "offset": [
        6312,
        6330
      ],
      "op": "DUP2",
      "path": "75",
      "statement": 26
    },
    "2973": {
      "fn": "ComponentController.getComponent",
      "offset": [
        6312,
        6330
      ],
      "op": "DUP2",
      "path": "75"
    },
    "2974": {
      "fn": "ComponentController.getComponent",
      "offset": [
        6312,
        6330
      ],
      "op": "MSTORE",
      "path": "75"
    },
    "2975": {
      "fn": "ComponentController.getComponent",
      "offset": [
        6312,
        6326
      ],
      "op": "PUSH1",
      "path": "75",
      "value": "0x2"
    },
    "2977": {
      "fn": "ComponentController.getComponent",
      "offset": [
        6312,
        6330
      ],
      "op": "PUSH1",
      "path": "75",
      "value": "0x20"
    },
    "2979": {
      "fn": "ComponentController.getComponent",
      "offset": [
        6312,
        6330
      ],
      "op": "MSTORE",
      "path": "75"
    },
    "2980": {
      "fn": "ComponentController.getComponent",
      "offset": [
        6312,
        6330
      ],
      "op": "PUSH1",
      "path": "75",
      "value": "0x40"
    },
    "2982": {
      "fn": "ComponentController.getComponent",
      "offset": [
        6312,
        6330
      ],
      "op": "SWAP1",
      "path": "75"
    },
    "2983": {
      "fn": "ComponentController.getComponent",
      "offset": [
        6312,
        6330
      ],
      "op": "KECCAK256",
      "path": "75"
    },
    "2984": {
      "fn": "ComponentController.getComponent",
      "offset": [
        6312,
        6330
      ],
      "op": "SLOAD",
      "path": "75"
    },
    "2985": {
      "op": "PUSH1",
      "value": "0x1"
    },
    "2987": {
      "op": "PUSH1",
      "value": "0x1"
    },
    "2989": {
      "op": "PUSH1",
      "value": "0xA0"
    },
    "2991": {
      "op": "SHL"
    },
    "2992": {
      "op": "SUB"
    },
    "2993": {
      "fn": "ComponentController.getComponent",
      "offset": [
        6312,
        6330
      ],
      "op": "AND",
      "path": "75"
    },
    "2994": {
      "branch": 96,
      "fn": "ComponentController.getComponent",
      "offset": [
        6348,
        6380
      ],
      "op": "DUP1",
      "path": "75",
      "statement": 27
    },
    "2995": {
      "fn": "ComponentController.getComponent",
      "offset": [
        6340,
        6419
      ],
      "op": "PUSH2",
      "path": "75",
      "value": "0x749"
    },
    "2998": {
      "branch": 96,
      "fn": "ComponentController.getComponent",
      "offset": [
        6340,
        6419
      ],
      "op": "JUMPI",
      "path": "75"
    },
    "2999": {
      "fn": "ComponentController.getComponent",
      "offset": [
        6340,
        6419
      ],
      "op": "PUSH1",
      "path": "75",
      "value": "0x40"
    },
    "3001": {
      "fn": "ComponentController.getComponent",
      "offset": [
        6340,
        6419
      ],
      "op": "MLOAD",
      "path": "75"
    },
    "3002": {
      "op": "PUSH3",
      "value": "0x461BCD"
    },
    "3006": {
      "op": "PUSH1",
      "value": "0xE5"
    },
    "3008": {
      "op": "SHL"
    },
    "3009": {
      "fn": "ComponentController.getComponent",
      "offset": [
        6340,
        6419
      ],
      "op": "DUP2",
      "path": "75"
    },
    "3010": {
      "fn": "ComponentController.getComponent",
      "offset": [
        6340,
        6419
      ],
      "op": "MSTORE",
      "path": "75"
    },
    "3011": {
      "op": "PUSH1",
      "value": "0x20"
    },
    "3013": {
      "fn": "ComponentController.getComponent",
      "offset": [
        6340,
        6419
      ],
      "op": "PUSH1",
      "path": "75",
      "value": "0x4"
    },
    "3015": {
      "fn": "ComponentController.getComponent",
      "offset": [
        6340,
        6419
      ],
      "op": "DUP3",
      "path": "75"
    },
    "3016": {
      "fn": "ComponentController.getComponent",
      "offset": [
        6340,
        6419
      ],
      "op": "ADD",
      "path": "75"
    },
    "3017": {
      "op": "MSTORE"
    },
    "3018": {
      "op": "PUSH1",
      "value": "0x22"
    },
    "3020": {
      "op": "PUSH1",
      "value": "0x24"
    },
    "3022": {
      "op": "DUP3"
    },
    "3023": {
      "op": "ADD"
    },
    "3024": {
      "op": "MSTORE"
    },
    "3025": {
      "op": "PUSH32",
      "value": "0x4552524F523A4343522D3030353A494E56414C49445F434F4D504F4E454E545F"
    },
    "3058": {
      "op": "PUSH1",
      "value": "0x44"
    },
    "3060": {
      "op": "DUP3"
    },
    "3061": {
      "op": "ADD"
    },
    "3062": {
      "op": "MSTORE"
    },
    "3063": {
      "op": "PUSH2",
      "value": "0x1251"
    },
    "3066": {
      "op": "PUSH1",
      "value": "0xF2"
    },
    "3068": {
      "op": "SHL"
    },
    "3069": {
      "op": "PUSH1",
      "value": "0x64"
    },
    "3071": {
      "op": "DUP3"
    },
    "3072": {
      "op": "ADD"
    },
    "3073": {
      "op": "MSTORE"
    },
    "3074": {
      "op": "PUSH1",
      "value": "0x84"
    },
    "3076": {
      "op": "ADD"
    },
    "3077": {
      "fn": "ComponentController.getComponent",
      "offset": [
        6340,
        6419
      ],
      "op": "PUSH2",
      "path": "75",
      "value": "0x453"
    },
    "3080": {
      "op": "JUMP"
    },
    "3081": {
      "fn": "ComponentController.getRequiredRole",
      "offset": [
        7823,
        8321
      ],
      "op": "JUMPDEST",
      "path": "75"
    },
    "3082": {
      "fn": "ComponentController.getRequiredRole",
      "offset": [
        7911,
        7918
      ],
      "op": "PUSH1",
      "path": "75",
      "value": "0x0"
    },
    "3084": {
      "fn": "ComponentController.getRequiredRole",
      "offset": [
        7951,
        7983
      ],
      "op": "PUSH1",
      "path": "75",
      "value": "0x1"
    },
    "3086": {
      "fn": "ComponentController.getRequiredRole",
      "offset": [
        7934,
        7947
      ],
      "op": "DUP3",
      "path": "75"
    },
    "3087": {
      "fn": "ComponentController.getRequiredRole",
      "offset": [
        7934,
        7983
      ],
      "op": "PUSH1",
      "path": "75",
      "value": "0x2"
    },
    "3089": {
      "fn": "ComponentController.getRequiredRole",
      "offset": [
        7934,
        7983
      ],
      "op": "DUP2",
      "path": "75"
    },
    "3090": {
      "fn": "ComponentController.getRequiredRole",
      "offset": [
        7934,
        7983
      ],
      "op": "GT",
      "path": "75"
    },
    "3091": {
      "fn": "ComponentController.getRequiredRole",
      "offset": [
        7934,
        7983
      ],
      "op": "ISZERO",
      "path": "75"
    },
    "3092": {
      "fn": "ComponentController.getRequiredRole",
      "offset": [
        7934,
        7983
      ],
      "op": "PUSH2",
      "path": "75",
      "value": "0xC2D"
    },
    "3095": {
      "fn": "ComponentController.getRequiredRole",
      "offset": [
        7934,
        7983
      ],
      "op": "JUMPI",
      "path": "75"
    },
    "3096": {
      "op": "PUSH4",
      "value": "0x4E487B71"
    },
    "3101": {
      "op": "PUSH1",
      "value": "0xE0"
    },
    "3103": {
      "op": "SHL"
    },
    "3104": {
      "fn": "ComponentController.getRequiredRole",
      "offset": [
        7934,
        7983
      ],
      "op": "PUSH1",
      "path": "75",
      "value": "0x0"
    },
    "3106": {
      "fn": "ComponentController.getRequiredRole",
      "offset": [
        7934,
        7983
      ],
      "op": "MSTORE",
      "path": "75"
    },
    "3107": {
      "fn": "ComponentController.getRequiredRole",
      "offset": [
        7934,
        7983
      ],
      "op": "PUSH1",
      "path": "75",
      "value": "0x21"
    },
    "3109": {
      "fn": "ComponentController.getRequiredRole",
      "offset": [
        7934,
        7983
      ],
      "op": "PUSH1",
      "path": "75",
      "value": "0x4"
    },
    "3111": {
      "fn": "ComponentController.getRequiredRole",
      "offset": [
        7934,
        7983
      ],
      "op": "MSTORE",
      "path": "75"
    },
    "3112": {
      "fn": "ComponentController.getRequiredRole",
      "offset": [
        7934,
        7983
      ],
      "op": "PUSH1",
      "path": "75",
      "value": "0x24"
    },
    "3114": {
      "fn": "ComponentController.getRequiredRole",
      "offset": [
        7934,
        7983
      ],
      "op": "PUSH1",
      "path": "75",
      "value": "0x0"
    },
    "3116": {
      "fn": "ComponentController.getRequiredRole",
      "offset": [
        7934,
        7983
      ],
      "op": "REVERT",
      "path": "75"
    },
    "3117": {
      "fn": "ComponentController.getRequiredRole",
      "offset": [
        7934,
        7983
      ],
      "op": "JUMPDEST",
      "path": "75"
    },
    "3118": {
      "branch": 97,
      "fn": "ComponentController.getRequiredRole",
      "offset": [
        7934,
        7983
      ],
      "op": "EQ",
      "path": "75"
    },
    "3119": {
      "fn": "ComponentController.getRequiredRole",
      "offset": [
        7930,
        8315
      ],
      "op": "ISZERO",
      "path": "75"
    },
    "3120": {
      "fn": "ComponentController.getRequiredRole",
      "offset": [
        7930,
        8315
      ],
      "op": "PUSH2",
      "path": "75",
      "value": "0xCC0"
    },
    "3123": {
      "branch": 97,
      "fn": "ComponentController.getRequiredRole",
      "offset": [
        7930,
        8315
      ],
      "op": "JUMPI",
      "path": "75"
    },
    "3124": {
      "fn": "ComponentController.getRequiredRole",
      "offset": [
        7994,
        8001
      ],
      "op": "PUSH1",
      "path": "75",
      "statement": 28,
      "value": "0x1"
    },
    "3126": {
      "fn": "ComponentController.getRequiredRole",
      "offset": [
        7994,
        8001
      ],
      "op": "PUSH1",
      "path": "75",
      "value": "0x0"
    },
    "3128": {
      "fn": "ComponentController.getRequiredRole",
      "offset": [
        7994,
        8001
      ],
      "op": "SWAP1",
      "path": "75"
    },
    "3129": {
      "fn": "ComponentController.getRequiredRole",
      "offset": [
        7994,
        8001
      ],
      "op": "SLOAD",
      "path": "75"
    },
    "3130": {
      "fn": "ComponentController.getRequiredRole",
      "offset": [
        7994,
        8001
      ],
      "op": "SWAP1",
      "path": "75"
    },
    "3131": {
      "fn": "ComponentController.getRequiredRole",
      "offset": [
        7994,
        8001
      ],
      "op": "PUSH2",
      "path": "75",
      "value": "0x100"
    },
    "3134": {
      "fn": "ComponentController.getRequiredRole",
      "offset": [
        7994,
        8001
      ],
      "op": "EXP",
      "path": "75"
    },
    "3135": {
      "fn": "ComponentController.getRequiredRole",
      "offset": [
        7994,
        8001
      ],
      "op": "SWAP1",
      "path": "75"
    },
    "3136": {
      "fn": "ComponentController.getRequiredRole",
      "offset": [
        7994,
        8001
      ],
      "op": "DIV",
      "path": "75"
    },
    "3137": {
      "op": "PUSH1",
      "value": "0x1"
    },
    "3139": {
      "op": "PUSH1",
      "value": "0x1"
    },
    "3141": {
      "op": "PUSH1",
      "value": "0xA0"
    },
    "3143": {
      "op": "SHL"
    },
    "3144": {
      "op": "SUB"
    },
    "3145": {
      "fn": "ComponentController.getRequiredRole",
      "offset": [
        7994,
        8001
      ],
      "op": "AND",
      "path": "75"
    },
    "3146": {
      "op": "PUSH1",
      "value": "0x1"
    },
    "3148": {
      "op": "PUSH1",
      "value": "0x1"
    },
    "3150": {
      "op": "PUSH1",
      "value": "0xA0"
    },
    "3152": {
      "op": "SHL"
    },
    "3153": {
      "op": "SUB"
    },
    "3154": {
      "fn": "ComponentController.getRequiredRole",
      "offset": [
        7994,
        8021
      ],
      "op": "AND",
      "path": "75"
    },
    "3155": {
      "fn": "ComponentController.getRequiredRole",
      "offset": [
        7994,
        8021
      ],
      "op": "PUSH4",
      "path": "75",
      "value": "0x775A4048"
    },
    "3160": {
      "fn": "ComponentController.getRequiredRole",
      "offset": [
        7994,
        8023
      ],
      "op": "PUSH1",
      "path": "75",
      "value": "0x40"
    },
    "3162": {
      "fn": "ComponentController.getRequiredRole",
      "offset": [
        7994,
        8023
      ],
      "op": "MLOAD",
      "path": "75"
    },
    "3163": {
      "fn": "ComponentController.getRequiredRole",
      "offset": [
        7994,
        8023
      ],
      "op": "DUP2",
      "path": "75"
    },
    "3164": {
      "fn": "ComponentController.getRequiredRole",
      "offset": [
        7994,
        8023
      ],
      "op": "PUSH4",
      "path": "75",
      "value": "0xFFFFFFFF"
    },
    "3169": {
      "fn": "ComponentController.getRequiredRole",
      "offset": [
        7994,
        8023
      ],
      "op": "AND",
      "path": "75"
    },
    "3170": {
      "fn": "ComponentController.getRequiredRole",
      "offset": [
        7994,
        8023
      ],
      "op": "PUSH1",
      "path": "75",
      "value": "0xE0"
    },
    "3172": {
      "fn": "ComponentController.getRequiredRole",
      "offset": [
        7994,
        8023
      ],
      "op": "SHL",
      "path": "75"
    },
    "3173": {
      "fn": "ComponentController.getRequiredRole",
      "offset": [
        7994,
        8023
      ],
      "op": "DUP2",
      "path": "75"
    },
    "3174": {
      "fn": "ComponentController.getRequiredRole",
      "offset": [
        7994,
        8023
      ],
      "op": "MSTORE",
      "path": "75"
    },
    "3175": {
      "fn": "ComponentController.getRequiredRole",
      "offset": [
        7994,
        8023
      ],
      "op": "PUSH1",
      "path": "75",
      "value": "0x4"
    },
    "3177": {
      "fn": "ComponentController.getRequiredRole",
      "offset": [
        7994,
        8023
      ],
      "op": "ADD",
      "path": "75"
    },
    "3178": {
      "fn": "ComponentController.getRequiredRole",
      "offset": [
        7994,
        8023
      ],
      "op": "PUSH1",
      "path": "75",
      "value": "0x20"
    },
    "3180": {
      "fn": "ComponentController.getRequiredRole",
      "offset": [
        7994,
        8023
      ],
      "op": "PUSH1",
      "path": "75",
      "value": "0x40"
    },
    "3182": {
      "fn": "ComponentController.getRequiredRole",
      "offset": [
        7994,
        8023
      ],
      "op": "MLOAD",
      "path": "75"
    },
    "3183": {
      "fn": "ComponentController.getRequiredRole",
      "offset": [
        7994,
        8023
      ],
      "op": "DUP1",
      "path": "75"
    },
    "3184": {
      "fn": "ComponentController.getRequiredRole",
      "offset": [
        7994,
        8023
      ],
      "op": "DUP4",
      "path": "75"
    },
    "3185": {
      "fn": "ComponentController.getRequiredRole",
      "offset": [
        7994,
        8023
      ],
      "op": "SUB",
      "path": "75"
    },
    "3186": {
      "fn": "ComponentController.getRequiredRole",
      "offset": [
        7994,
        8023
      ],
      "op": "DUP2",
      "path": "75"
    },
    "3187": {
      "fn": "ComponentController.getRequiredRole",
      "offset": [
        7994,
        8023
      ],
      "op": "DUP7",
      "path": "75"
    },
    "3188": {
      "fn": "ComponentController.getRequiredRole",
      "offset": [
        7994,
        8023
      ],
      "op": "DUP1",
      "path": "75"
    },
    "3189": {
      "fn": "ComponentController.getRequiredRole",
      "offset": [
        7994,
        8023
      ],
      "op": "EXTCODESIZE",
      "path": "75"
    },
    "3190": {
      "fn": "ComponentController.getRequiredRole",
      "offset": [
        7994,
        8023
      ],
      "op": "ISZERO",
      "path": "75"
    },
    "3191": {
      "fn": "ComponentController.getRequiredRole",
      "offset": [
        7994,
        8023
      ],
      "op": "DUP1",
      "path": "75"
    },
    "3192": {
      "fn": "ComponentController.getRequiredRole",
      "offset": [
        7994,
        8023
      ],
      "op": "ISZERO",
      "path": "75"
    },
    "3193": {
      "fn": "ComponentController.getRequiredRole",
      "offset": [
        7994,
        8023
      ],
      "op": "PUSH2",
      "path": "75",
      "value": "0xC81"
    },
    "3196": {
      "fn": "ComponentController.getRequiredRole",
      "offset": [
        7994,
        8023
      ],
      "op": "JUMPI",
      "path": "75"
    },
    "3197": {
      "fn": "ComponentController.getRequiredRole",
      "offset": [
        7994,
        8023
      ],
      "op": "PUSH1",
      "path": "75",
      "value": "0x0"
    },
    "3199": {
      "fn": "ComponentController.getRequiredRole",
      "offset": [
        7994,
        8023
      ],
      "op": "DUP1",
      "path": "75"
    },
    "3200": {
      "fn": "ComponentController.getRequiredRole",
      "offset": [
        7994,
        8023
      ],
      "op": "REVERT",
      "path": "75"
    },
    "3201": {
      "fn": "ComponentController.getRequiredRole",
      "offset": [
        7994,
        8023
      ],
      "op": "JUMPDEST",
      "path": "75"
    },
    "3202": {
      "fn": "ComponentController.getRequiredRole",
      "offset": [
        7994,
        8023
      ],
      "op": "POP",
      "path": "75"
    },
    "3203": {
      "fn": "ComponentController.getRequiredRole",
      "offset": [
        7994,
        8023
      ],
      "op": "GAS",
      "path": "75"
    },
    "3204": {
      "fn": "ComponentController.getRequiredRole",
      "offset": [
        7994,
        8023
      ],
      "op": "STATICCALL",
      "path": "75"
    },
    "3205": {
      "fn": "ComponentController.getRequiredRole",
      "offset": [
        7994,
        8023
      ],
      "op": "ISZERO",
      "path": "75"
    },
    "3206": {
      "fn": "ComponentController.getRequiredRole",
      "offset": [
        7994,
        8023
      ],
      "op": "DUP1",
      "path": "75"
    },
    "3207": {
      "fn": "ComponentController.getRequiredRole",
      "offset": [
        7994,
        8023
      ],
      "op": "ISZERO",
      "path": "75"
    },
    "3208": {
      "fn": "ComponentController.getRequiredRole",
      "offset": [
        7994,
        8023
      ],
      "op": "PUSH2",
      "path": "75",
      "value": "0xC95"
    },
    "3211": {
      "fn": "ComponentController.getRequiredRole",
      "offset": [
        7994,
        8023
      ],
      "op": "JUMPI",
      "path": "75"
    },
    "3212": {
      "fn": "ComponentController.getRequiredRole",
      "offset": [
        7994,
        8023
      ],
      "op": "RETURNDATASIZE",
      "path": "75"
    },
    "3213": {
      "fn": "ComponentController.getRequiredRole",
      "offset": [
        7994,
        8023
      ],
      "op": "PUSH1",
      "path": "75",
      "value": "0x0"
    },
    "3215": {
      "fn": "ComponentController.getRequiredRole",
      "offset": [
        7994,
        8023
      ],
      "op": "DUP1",
      "path": "75"
    },
    "3216": {
      "fn": "ComponentController.getRequiredRole",
      "offset": [
        7994,
        8023
      ],
      "op": "RETURNDATACOPY",
      "path": "75"
    },
    "3217": {
      "fn": "ComponentController.getRequiredRole",
      "offset": [
        7994,
        8023
      ],
      "op": "RETURNDATASIZE",
      "path": "75"
    },
    "3218": {
      "fn": "ComponentController.getRequiredRole",
      "offset": [
        7994,
        8023
      ],
      "op": "PUSH1",
      "path": "75",
      "value": "0x0"
    },
    "3220": {
      "fn": "ComponentController.getRequiredRole",
      "offset": [
        7994,
        8023
      ],
      "op": "REVERT",
      "path": "75"
    },
    "3221": {
      "fn": "ComponentController.getRequiredRole",
      "offset": [
        7994,
        8023
      ],
      "op": "JUMPDEST",
      "path": "75"
    },
    "3222": {
      "fn": "ComponentController.getRequiredRole",
      "offset": [
        7994,
        8023
      ],
      "op": "POP",
      "path": "75"
    },
    "3223": {
      "fn": "ComponentController.getRequiredRole",
      "offset": [
        7994,
        8023
      ],
      "op": "POP",
      "path": "75"
    },
    "3224": {
      "fn": "ComponentController.getRequiredRole",
      "offset": [
        7994,
        8023
      ],
      "op": "POP",
      "path": "75"
    },
    "3225": {
      "fn": "ComponentController.getRequiredRole",
      "offset": [
        7994,
        8023
      ],
      "op": "POP",
      "path": "75"
    },
    "3226": {
      "fn": "ComponentController.getRequiredRole",
      "offset": [
        7994,
        8023
      ],
      "op": "PUSH1",
      "path": "75",
      "value": "0x40"
    },
    "3228": {
      "fn": "ComponentController.getRequiredRole",
      "offset": [
        7994,
        8023
      ],
      "op": "MLOAD",
      "path": "75"
    },
    "3229": {
      "fn": "ComponentController.getRequiredRole",
      "offset": [
        7994,
        8023
      ],
      "op": "RETURNDATASIZE",
      "path": "75"
    },
    "3230": {
      "fn": "ComponentController.getRequiredRole",
      "offset": [
        7994,
        8023
      ],
      "op": "PUSH1",
      "path": "75",
      "value": "0x1F"
    },
    "3232": {
      "fn": "ComponentController.getRequiredRole",
      "offset": [
        7994,
        8023
      ],
      "op": "NOT",
      "path": "75"
    },
    "3233": {
      "fn": "ComponentController.getRequiredRole",
      "offset": [
        7994,
        8023
      ],
      "op": "PUSH1",
      "path": "75",
      "value": "0x1F"
    },
    "3235": {
      "fn": "ComponentController.getRequiredRole",
      "offset": [
        7994,
        8023
      ],
      "op": "DUP3",
      "path": "75"
    },
    "3236": {
      "fn": "ComponentController.getRequiredRole",
      "offset": [
        7994,
        8023
      ],
      "op": "ADD",
      "path": "75"
    },
    "3237": {
      "fn": "ComponentController.getRequiredRole",
      "offset": [
        7994,
        8023
      ],
      "op": "AND",
      "path": "75"
    },
    "3238": {
      "fn": "ComponentController.getRequiredRole",
      "offset": [
        7994,
        8023
      ],
      "op": "DUP3",
      "path": "75"
    },
    "3239": {
      "fn": "ComponentController.getRequiredRole",
      "offset": [
        7994,
        8023
      ],
      "op": "ADD",
      "path": "75"
    },
    "3240": {
      "fn": "ComponentController.getRequiredRole",
      "offset": [
        7994,
        8023
      ],
      "op": "DUP1",
      "path": "75"
    },
    "3241": {
      "fn": "ComponentController.getRequiredRole",
      "offset": [
        7994,
        8023
      ],
      "op": "PUSH1",
      "path": "75",
      "value": "0x40"
    },
    "3243": {
      "fn": "ComponentController.getRequiredRole",
      "offset": [
        7994,
        8023
      ],
      "op": "MSTORE",
      "path": "75"
    },
    "3244": {
      "fn": "ComponentController.getRequiredRole",
      "offset": [
        7994,
        8023
      ],
      "op": "POP",
      "path": "75"
    },
    "3245": {
      "fn": "ComponentController.getRequiredRole",
      "offset": [
        7994,
        8023
      ],
      "op": "DUP2",
      "path": "75"
    },
    "3246": {
      "fn": "ComponentController.getRequiredRole",
      "offset": [
        7994,
        8023
      ],
      "op": "ADD",
      "path": "75"
    },
    "3247": {
      "fn": "ComponentController.getRequiredRole",
      "offset": [
        7994,
        8023
      ],
      "op": "SWAP1",
      "path": "75"
    },
    "3248": {
      "fn": "ComponentController.getRequiredRole",
      "offset": [
        7994,
        8023
      ],
      "op": "PUSH2",
      "path": "75",
      "value": "0xCB9"
    },
    "3251": {
      "fn": "ComponentController.getRequiredRole",
      "offset": [
        7994,
        8023
      ],
      "op": "SWAP2",
      "path": "75"
    },
    "3252": {
      "fn": "ComponentController.getRequiredRole",
      "offset": [
        7994,
        8023
      ],
      "op": "SWAP1",
      "path": "75"
    },
    "3253": {
      "fn": "ComponentController.getRequiredRole",
      "offset": [
        7994,
        8023
      ],
      "op": "PUSH2",
      "path": "75",
      "value": "0x1FCD"
    },
    "3256": {
      "fn": "ComponentController.getRequiredRole",
      "jump": "i",
      "offset": [
        7994,
        8023
      ],
      "op": "JUMP",
      "path": "75"
    },
    "3257": {
      "fn": "ComponentController.getRequiredRole",
      "offset": [
        7994,
        8023
      ],
      "op": "JUMPDEST",
      "path": "75"
    },
    "3258": {
      "fn": "ComponentController.getRequiredRole",
      "offset": [
        7987,
        8023
      ],
      "op": "SWAP1",
      "path": "75"
    },
    "3259": {
      "fn": "ComponentController.getRequiredRole",
      "offset": [
        7987,
        8023
      ],
      "op": "POP",
      "path": "75"
    },
    "3260": {
      "fn": "ComponentController.getRequiredRole",
      "offset": [
        7987,
        8023
      ],
      "op": "PUSH2",
      "path": "75",
      "value": "0x749"
    },
    "3263": {
      "fn": "ComponentController.getRequiredRole",
      "offset": [
        7987,
        8023
      ],
      "op": "JUMP",
      "path": "75"
    },
    "3264": {
      "fn": "ComponentController.getRequiredRole",
      "offset": [
        7930,
        8315
      ],
      "op": "JUMPDEST",
      "path": "75"
    },
    "3265": {
      "fn": "ComponentController.getRequiredRole",
      "offset": [
        8061,
        8092
      ],
      "op": "PUSH1",
      "path": "75",
      "value": "0x0"
    },
    "3267": {
      "fn": "ComponentController.getRequiredRole",
      "offset": [
        8044,
        8057
      ],
      "op": "DUP3",
      "path": "75"
    },
    "3268": {
      "fn": "ComponentController.getRequiredRole",
      "offset": [
        8044,
        8092
      ],
      "op": "PUSH1",
      "path": "75",
      "value": "0x2"
    },
    "3270": {
      "fn": "ComponentController.getRequiredRole",
      "offset": [
        8044,
        8092
      ],
      "op": "DUP2",
      "path": "75"
    },
    "3271": {
      "fn": "ComponentController.getRequiredRole",
      "offset": [
        8044,
        8092
      ],
      "op": "GT",
      "path": "75"
    },
    "3272": {
      "fn": "ComponentController.getRequiredRole",
      "offset": [
        8044,
        8092
      ],
      "op": "ISZERO",
      "path": "75"
    },
    "3273": {
      "fn": "ComponentController.getRequiredRole",
      "offset": [
        8044,
        8092
      ],
      "op": "PUSH2",
      "path": "75",
      "value": "0xCE2"
    },
    "3276": {
      "fn": "ComponentController.getRequiredRole",
      "offset": [
        8044,
        8092
      ],
      "op": "JUMPI",
      "path": "75"
    },
    "3277": {
      "op": "PUSH4",
      "value": "0x4E487B71"
    },
    "3282": {
      "op": "PUSH1",
      "value": "0xE0"
    },
    "3284": {
      "op": "SHL"
    },
    "3285": {
      "fn": "ComponentController.getRequiredRole",
      "offset": [
        8044,
        8092
      ],
      "op": "PUSH1",
      "path": "75",
      "value": "0x0"
    },
    "3287": {
      "fn": "ComponentController.getRequiredRole",
      "offset": [
        8044,
        8092
      ],
      "op": "MSTORE",
      "path": "75"
    },
    "3288": {
      "fn": "ComponentController.getRequiredRole",
      "offset": [
        8044,
        8092
      ],
      "op": "PUSH1",
      "path": "75",
      "value": "0x21"
    },
    "3290": {
      "fn": "ComponentController.getRequiredRole",
      "offset": [
        8044,
        8092
      ],
      "op": "PUSH1",
      "path": "75",
      "value": "0x4"
    },
    "3292": {
      "fn": "ComponentController.getRequiredRole",
      "offset": [
        8044,
        8092
      ],
      "op": "MSTORE",
      "path": "75"
    },
    "3293": {
      "fn": "ComponentController.getRequiredRole",
      "offset": [
        8044,
        8092
      ],
      "op": "PUSH1",
      "path": "75",
      "value": "0x24"
    },
    "3295": {
      "fn": "ComponentController.getRequiredRole",
      "offset": [
        8044,
        8092
      ],
      "op": "PUSH1",
      "path": "75",
      "value": "0x0"
    },
    "3297": {
      "fn": "ComponentController.getRequiredRole",
      "offset": [
        8044,
        8092
      ],
      "op": "REVERT",
      "path": "75"
    },
    "3298": {
      "fn": "ComponentController.getRequiredRole",
      "offset": [
        8044,
        8092
      ],
      "op": "JUMPDEST",
      "path": "75"
    },
    "3299": {
      "branch": 98,
      "fn": "ComponentController.getRequiredRole",
      "offset": [
        8044,
        8092
      ],
      "op": "EQ",
      "path": "75"
    },
    "3300": {
      "fn": "ComponentController.getRequiredRole",
      "offset": [
        8040,
        8315
      ],
      "op": "ISZERO",
      "path": "75"
    },
    "3301": {
      "fn": "ComponentController.getRequiredRole",
      "offset": [
        8040,
        8315
      ],
      "op": "PUSH2",
      "path": "75",
      "value": "0xD36"
    },
    "3304": {
      "branch": 98,
      "fn": "ComponentController.getRequiredRole",
      "offset": [
        8040,
        8315
      ],
      "op": "JUMPI",
      "path": "75"
    },
    "3305": {
      "fn": "ComponentController.getRequiredRole",
      "offset": [
        8103,
        8110
      ],
      "op": "PUSH1",
      "path": "75",
      "statement": 29,
      "value": "0x1"
    },
    "3307": {
      "fn": "ComponentController.getRequiredRole",
      "offset": [
        8103,
        8110
      ],
      "op": "PUSH1",
      "path": "75",
      "value": "0x0"
    },
    "3309": {
      "fn": "ComponentController.getRequiredRole",
      "offset": [
        8103,
        8110
      ],
      "op": "SWAP1",
      "path": "75"
    },
    "3310": {
      "fn": "ComponentController.getRequiredRole",
      "offset": [
        8103,
        8110
      ],
      "op": "SLOAD",
      "path": "75"
    },
    "3311": {
      "fn": "ComponentController.getRequiredRole",
      "offset": [
        8103,
        8110
      ],
      "op": "SWAP1",
      "path": "75"
    },
    "3312": {
      "fn": "ComponentController.getRequiredRole",
      "offset": [
        8103,
        8110
      ],
      "op": "PUSH2",
      "path": "75",
      "value": "0x100"
    },
    "3315": {
      "fn": "ComponentController.getRequiredRole",
      "offset": [
        8103,
        8110
      ],
      "op": "EXP",
      "path": "75"
    },
    "3316": {
      "fn": "ComponentController.getRequiredRole",
      "offset": [
        8103,
        8110
      ],
      "op": "SWAP1",
      "path": "75"
    },
    "3317": {
      "fn": "ComponentController.getRequiredRole",
      "offset": [
        8103,
        8110
      ],
      "op": "DIV",
      "path": "75"
    },
    "3318": {
      "op": "PUSH1",
      "value": "0x1"
    },
    "3320": {
      "op": "PUSH1",
      "value": "0x1"
    },
    "3322": {
      "op": "PUSH1",
      "value": "0xA0"
    },
    "3324": {
      "op": "SHL"
    },
    "3325": {
      "op": "SUB"
    },
    "3326": {
      "fn": "ComponentController.getRequiredRole",
      "offset": [
        8103,
        8110
      ],
      "op": "AND",
      "path": "75"
    },
    "3327": {
      "op": "PUSH1",
      "value": "0x1"
    },
    "3329": {
      "op": "PUSH1",
      "value": "0x1"
    },
    "3331": {
      "op": "PUSH1",
      "value": "0xA0"
    },
    "3333": {
      "op": "SHL"
    },
    "3334": {
      "op": "SUB"
    },
    "3335": {
      "fn": "ComponentController.getRequiredRole",
      "offset": [
        8103,
        8132
      ],
      "op": "AND",
      "path": "75"
    },
    "3336": {
      "fn": "ComponentController.getRequiredRole",
      "offset": [
        8103,
        8132
      ],
      "op": "PUSH4",
      "path": "75",
      "value": "0xD49D21C0"
    },
    "3341": {
      "fn": "ComponentController.getRequiredRole",
      "offset": [
        8103,
        8134
      ],
      "op": "PUSH1",
      "path": "75",
      "value": "0x40"
    },
    "3343": {
      "fn": "ComponentController.getRequiredRole",
      "offset": [
        8103,
        8134
      ],
      "op": "MLOAD",
      "path": "75"
    },
    "3344": {
      "fn": "ComponentController.getRequiredRole",
      "offset": [
        8103,
        8134
      ],
      "op": "DUP2",
      "path": "75"
    },
    "3345": {
      "fn": "ComponentController.getRequiredRole",
      "offset": [
        8103,
        8134
      ],
      "op": "PUSH4",
      "path": "75",
      "value": "0xFFFFFFFF"
    },
    "3350": {
      "fn": "ComponentController.getRequiredRole",
      "offset": [
        8103,
        8134
      ],
      "op": "AND",
      "path": "75"
    },
    "3351": {
      "fn": "ComponentController.getRequiredRole",
      "offset": [
        8103,
        8134
      ],
      "op": "PUSH1",
      "path": "75",
      "value": "0xE0"
    },
    "3353": {
      "fn": "ComponentController.getRequiredRole",
      "offset": [
        8103,
        8134
      ],
      "op": "SHL",
      "path": "75"
    },
    "3354": {
      "fn": "ComponentController.getRequiredRole",
      "offset": [
        8103,
        8134
      ],
      "op": "DUP2",
      "path": "75"
    },
    "3355": {
      "fn": "ComponentController.getRequiredRole",
      "offset": [
        8103,
        8134
      ],
      "op": "MSTORE",
      "path": "75"
    },
    "3356": {
      "fn": "ComponentController.getRequiredRole",
      "offset": [
        8103,
        8134
      ],
      "op": "PUSH1",
      "path": "75",
      "value": "0x4"
    },
    "3358": {
      "fn": "ComponentController.getRequiredRole",
      "offset": [
        8103,
        8134
      ],
      "op": "ADD",
      "path": "75"
    },
    "3359": {
      "fn": "ComponentController.getRequiredRole",
      "offset": [
        8103,
        8134
      ],
      "op": "PUSH1",
      "path": "75",
      "value": "0x20"
    },
    "3361": {
      "fn": "ComponentController.getRequiredRole",
      "offset": [
        8103,
        8134
      ],
      "op": "PUSH1",
      "path": "75",
      "value": "0x40"
    },
    "3363": {
      "fn": "ComponentController.getRequiredRole",
      "offset": [
        8103,
        8134
      ],
      "op": "MLOAD",
      "path": "75"
    },
    "3364": {
      "fn": "ComponentController.getRequiredRole",
      "offset": [
        8103,
        8134
      ],
      "op": "DUP1",
      "path": "75"
    },
    "3365": {
      "fn": "ComponentController.getRequiredRole",
      "offset": [
        8103,
        8134
      ],
      "op": "DUP4",
      "path": "75"
    },
    "3366": {
      "fn": "ComponentController.getRequiredRole",
      "offset": [
        8103,
        8134
      ],
      "op": "SUB",
      "path": "75"
    },
    "3367": {
      "fn": "ComponentController.getRequiredRole",
      "offset": [
        8103,
        8134
      ],
      "op": "DUP2",
      "path": "75"
    },
    "3368": {
      "fn": "ComponentController.getRequiredRole",
      "offset": [
        8103,
        8134
      ],
      "op": "DUP7",
      "path": "75"
    },
    "3369": {
      "fn": "ComponentController.getRequiredRole",
      "offset": [
        8103,
        8134
      ],
      "op": "DUP1",
      "path": "75"
    },
    "3370": {
      "fn": "ComponentController.getRequiredRole",
      "offset": [
        8103,
        8134
      ],
      "op": "EXTCODESIZE",
      "path": "75"
    },
    "3371": {
      "fn": "ComponentController.getRequiredRole",
      "offset": [
        8103,
        8134
      ],
      "op": "ISZERO",
      "path": "75"
    },
    "3372": {
      "fn": "ComponentController.getRequiredRole",
      "offset": [
        8103,
        8134
      ],
      "op": "DUP1",
      "path": "75"
    },
    "3373": {
      "fn": "ComponentController.getRequiredRole",
      "offset": [
        8103,
        8134
      ],
      "op": "ISZERO",
      "path": "75"
    },
    "3374": {
      "fn": "ComponentController.getRequiredRole",
      "offset": [
        8103,
        8134
      ],
      "op": "PUSH2",
      "path": "75",
      "value": "0xC81"
    },
    "3377": {
      "fn": "ComponentController.getRequiredRole",
      "offset": [
        8103,
        8134
      ],
      "op": "JUMPI",
      "path": "75"
    },
    "3378": {
      "fn": "ComponentController.getRequiredRole",
      "offset": [
        8103,
        8134
      ],
      "op": "PUSH1",
      "path": "75",
      "value": "0x0"
    },
    "3380": {
      "fn": "ComponentController.getRequiredRole",
      "offset": [
        8103,
        8134
      ],
      "op": "DUP1",
      "path": "75"
    },
    "3381": {
      "fn": "ComponentController.getRequiredRole",
      "offset": [
        8103,
        8134
      ],
      "op": "REVERT",
      "path": "75"
    },
    "3382": {
      "fn": "ComponentController.getRequiredRole",
      "offset": [
        8040,
        8315
      ],
      "op": "JUMPDEST",
      "path": "75"
    },
    "3383": {
      "fn": "ComponentController.getRequiredRole",
      "offset": [
        8172,
        8205
      ],
      "op": "PUSH1",
      "path": "75",
      "value": "0x2"
    },
    "3385": {
      "fn": "ComponentController.getRequiredRole",
      "offset": [
        8155,
        8168
      ],
      "op": "DUP3",
      "path": "75"
    },
    "3386": {
      "fn": "ComponentController.getRequiredRole",
      "offset": [
        8155,
        8205
      ],
      "op": "PUSH1",
      "path": "75",
      "value": "0x2"
    },
    "3388": {
      "fn": "ComponentController.getRequiredRole",
      "offset": [
        8155,
        8205
      ],
      "op": "DUP2",
      "path": "75"
    },
    "3389": {
      "fn": "ComponentController.getRequiredRole",
      "offset": [
        8155,
        8205
      ],
      "op": "GT",
      "path": "75"
    },
    "3390": {
      "fn": "ComponentController.getRequiredRole",
      "offset": [
        8155,
        8205
      ],
      "op": "ISZERO",
      "path": "75"
    },
    "3391": {
      "fn": "ComponentController.getRequiredRole",
      "offset": [
        8155,
        8205
      ],
      "op": "PUSH2",
      "path": "75",
      "value": "0xD58"
    },
    "3394": {
      "fn": "ComponentController.getRequiredRole",
      "offset": [
        8155,
        8205
      ],
      "op": "JUMPI",
      "path": "75"
    },
    "3395": {
      "op": "PUSH4",
      "value": "0x4E487B71"
    },
    "3400": {
      "op": "PUSH1",
      "value": "0xE0"
    },
    "3402": {
      "op": "SHL"
    },
    "3403": {
      "fn": "ComponentController.getRequiredRole",
      "offset": [
        8155,
        8205
      ],
      "op": "PUSH1",
      "path": "75",
      "value": "0x0"
    },
    "3405": {
      "fn": "ComponentController.getRequiredRole",
      "offset": [
        8155,
        8205
      ],
      "op": "MSTORE",
      "path": "75"
    },
    "3406": {
      "fn": "ComponentController.getRequiredRole",
      "offset": [
        8155,
        8205
      ],
      "op": "PUSH1",
      "path": "75",
      "value": "0x21"
    },
    "3408": {
      "fn": "ComponentController.getRequiredRole",
      "offset": [
        8155,
        8205
      ],
      "op": "PUSH1",
      "path": "75",
      "value": "0x4"
    },
    "3410": {
      "fn": "ComponentController.getRequiredRole",
      "offset": [
        8155,
        8205
      ],
      "op": "MSTORE",
      "path": "75"
    },
    "3411": {
      "fn": "ComponentController.getRequiredRole",
      "offset": [
        8155,
        8205
      ],
      "op": "PUSH1",
      "path": "75",
      "value": "0x24"
    },
    "3413": {
      "fn": "ComponentController.getRequiredRole",
      "offset": [
        8155,
        8205
      ],
      "op": "PUSH1",
      "path": "75",
      "value": "0x0"
    },
    "3415": {
      "fn": "ComponentController.getRequiredRole",
      "offset": [
        8155,
        8205
      ],
      "op": "REVERT",
      "path": "75"
    },
    "3416": {
      "fn": "ComponentController.getRequiredRole",
      "offset": [
        8155,
        8205
      ],
      "op": "JUMPDEST",
      "path": "75"
    },
    "3417": {
      "branch": 99,
      "fn": "ComponentController.getRequiredRole",
      "offset": [
        8155,
        8205
      ],
      "op": "EQ",
      "path": "75"
    },
    "3418": {
      "fn": "ComponentController.getRequiredRole",
      "offset": [
        8151,
        8315
      ],
      "op": "ISZERO",
      "path": "75"
    },
    "3419": {
      "fn": "ComponentController.getRequiredRole",
      "offset": [
        8151,
        8315
      ],
      "op": "PUSH2",
      "path": "75",
      "value": "0xDAC"
    },
    "3422": {
      "branch": 99,
      "fn": "ComponentController.getRequiredRole",
      "offset": [
        8151,
        8315
      ],
      "op": "JUMPI",
      "path": "75"
    },
    "3423": {
      "fn": "ComponentController.getRequiredRole",
      "offset": [
        8216,
        8223
      ],
      "op": "PUSH1",
      "path": "75",
      "statement": 30,
      "value": "0x1"
    },
    "3425": {
      "fn": "ComponentController.getRequiredRole",
      "offset": [
        8216,
        8223
      ],
      "op": "PUSH1",
      "path": "75",
      "value": "0x0"
    },
    "3427": {
      "fn": "ComponentController.getRequiredRole",
      "offset": [
        8216,
        8223
      ],
      "op": "SWAP1",
      "path": "75"
    },
    "3428": {
      "fn": "ComponentController.getRequiredRole",
      "offset": [
        8216,
        8223
      ],
      "op": "SLOAD",
      "path": "75"
    },
    "3429": {
      "fn": "ComponentController.getRequiredRole",
      "offset": [
        8216,
        8223
      ],
      "op": "SWAP1",
      "path": "75"
    },
    "3430": {
      "fn": "ComponentController.getRequiredRole",
      "offset": [
        8216,
        8223
      ],
      "op": "PUSH2",
      "path": "75",
      "value": "0x100"
    },
    "3433": {
      "fn": "ComponentController.getRequiredRole",
      "offset": [
        8216,
        8223
      ],
      "op": "EXP",
      "path": "75"
    },
    "3434": {
      "fn": "ComponentController.getRequiredRole",
      "offset": [
        8216,
        8223
      ],
      "op": "SWAP1",
      "path": "75"
    },
    "3435": {
      "fn": "ComponentController.getRequiredRole",
      "offset": [
        8216,
        8223
      ],
      "op": "DIV",
      "path": "75"
    },
    "3436": {
      "op": "PUSH1",
      "value": "0x1"
    },
    "3438": {
      "op": "PUSH1",
      "value": "0x1"
    },
    "3440": {
      "op": "PUSH1",
      "value": "0xA0"
    },
    "3442": {
      "op": "SHL"
    },
    "3443": {
      "op": "SUB"
    },
    "3444": {
      "fn": "ComponentController.getRequiredRole",
      "offset": [
        8216,
        8223
      ],
      "op": "AND",
      "path": "75"
    },
    "3445": {
      "op": "PUSH1",
      "value": "0x1"
    },
    "3447": {
      "op": "PUSH1",
      "value": "0x1"
    },
    "3449": {
      "op": "PUSH1",
      "value": "0xA0"
    },
    "3451": {
      "op": "SHL"
    },
    "3452": {
      "op": "SUB"
    },
    "3453": {
      "fn": "ComponentController.getRequiredRole",
      "offset": [
        8216,
        8245
      ],
      "op": "AND",
      "path": "75"
    },
    "3454": {
      "fn": "ComponentController.getRequiredRole",
      "offset": [
        8216,
        8245
      ],
      "op": "PUSH4",
      "path": "75",
      "value": "0x3FFDD2F3"
    },
    "3459": {
      "fn": "ComponentController.getRequiredRole",
      "offset": [
        8216,
        8247
      ],
      "op": "PUSH1",
      "path": "75",
      "value": "0x40"
    },
    "3461": {
      "fn": "ComponentController.getRequiredRole",
      "offset": [
        8216,
        8247
      ],
      "op": "MLOAD",
      "path": "75"
    },
    "3462": {
      "fn": "ComponentController.getRequiredRole",
      "offset": [
        8216,
        8247
      ],
      "op": "DUP2",
      "path": "75"
    },
    "3463": {
      "fn": "ComponentController.getRequiredRole",
      "offset": [
        8216,
        8247
      ],
      "op": "PUSH4",
      "path": "75",
      "value": "0xFFFFFFFF"
    },
    "3468": {
      "fn": "ComponentController.getRequiredRole",
      "offset": [
        8216,
        8247
      ],
      "op": "AND",
      "path": "75"
    },
    "3469": {
      "fn": "ComponentController.getRequiredRole",
      "offset": [
        8216,
        8247
      ],
      "op": "PUSH1",
      "path": "75",
      "value": "0xE0"
    },
    "3471": {
      "fn": "ComponentController.getRequiredRole",
      "offset": [
        8216,
        8247
      ],
      "op": "SHL",
      "path": "75"
    },
    "3472": {
      "fn": "ComponentController.getRequiredRole",
      "offset": [
        8216,
        8247
      ],
      "op": "DUP2",
      "path": "75"
    },
    "3473": {
      "fn": "ComponentController.getRequiredRole",
      "offset": [
        8216,
        8247
      ],
      "op": "MSTORE",
      "path": "75"
    },
    "3474": {
      "fn": "ComponentController.getRequiredRole",
      "offset": [
        8216,
        8247
      ],
      "op": "PUSH1",
      "path": "75",
      "value": "0x4"
    },
    "3476": {
      "fn": "ComponentController.getRequiredRole",
      "offset": [
        8216,
        8247
      ],
      "op": "ADD",
      "path": "75"
    },
    "3477": {
      "fn": "ComponentController.getRequiredRole",
      "offset": [
        8216,
        8247
      ],
      "op": "PUSH1",
      "path": "75",
      "value": "0x20"
    },
    "3479": {
      "fn": "ComponentController.getRequiredRole",
      "offset": [
        8216,
        8247
      ],
      "op": "PUSH1",
      "path": "75",
      "value": "0x40"
    },
    "3481": {
      "fn": "ComponentController.getRequiredRole",
      "offset": [
        8216,
        8247
      ],
      "op": "MLOAD",
      "path": "75"
    },
    "3482": {
      "fn": "ComponentController.getRequiredRole",
      "offset": [
        8216,
        8247
      ],
      "op": "DUP1",
      "path": "75"
    },
    "3483": {
      "fn": "ComponentController.getRequiredRole",
      "offset": [
        8216,
        8247
      ],
      "op": "DUP4",
      "path": "75"
    },
    "3484": {
      "fn": "ComponentController.getRequiredRole",
      "offset": [
        8216,
        8247
      ],
      "op": "SUB",
      "path": "75"
    },
    "3485": {
      "fn": "ComponentController.getRequiredRole",
      "offset": [
        8216,
        8247
      ],
      "op": "DUP2",
      "path": "75"
    },
    "3486": {
      "fn": "ComponentController.getRequiredRole",
      "offset": [
        8216,
        8247
      ],
      "op": "DUP7",
      "path": "75"
    },
    "3487": {
      "fn": "ComponentController.getRequiredRole",
      "offset": [
        8216,
        8247
      ],
      "op": "DUP1",
      "path": "75"
    },
    "3488": {
      "fn": "ComponentController.getRequiredRole",
      "offset": [
        8216,
        8247
      ],
      "op": "EXTCODESIZE",
      "path": "75"
    },
    "3489": {
      "fn": "ComponentController.getRequiredRole",
      "offset": [
        8216,
        8247
      ],
      "op": "ISZERO",
      "path": "75"
    },
    "3490": {
      "fn": "ComponentController.getRequiredRole",
      "offset": [
        8216,
        8247
      ],
      "op": "DUP1",
      "path": "75"
    },
    "3491": {
      "fn": "ComponentController.getRequiredRole",
      "offset": [
        8216,
        8247
      ],
      "op": "ISZERO",
      "path": "75"
    },
    "3492": {
      "fn": "ComponentController.getRequiredRole",
      "offset": [
        8216,
        8247
      ],
      "op": "PUSH2",
      "path": "75",
      "value": "0xC81"
    },
    "3495": {
      "fn": "ComponentController.getRequiredRole",
      "offset": [
        8216,
        8247
      ],
      "op": "JUMPI",
      "path": "75"
    },
    "3496": {
      "fn": "ComponentController.getRequiredRole",
      "offset": [
        8216,
        8247
      ],
      "op": "PUSH1",
      "path": "75",
      "value": "0x0"
    },
    "3498": {
      "fn": "ComponentController.getRequiredRole",
      "offset": [
        8216,
        8247
      ],
      "op": "DUP1",
      "path": "75"
    },
    "3499": {
      "fn": "ComponentController.getRequiredRole",
      "offset": [
        8216,
        8247
      ],
      "op": "REVERT",
      "path": "75"
    },
    "3500": {
      "fn": "ComponentController.getRequiredRole",
      "offset": [
        8151,
        8315
      ],
      "op": "JUMPDEST",
      "path": "75"
    },
    "3501": {
      "fn": "ComponentController.getRequiredRole",
      "offset": [
        8266,
        8312
      ],
      "op": "PUSH1",
      "path": "75",
      "statement": 31,
      "value": "0x40"
    },
    "3503": {
      "fn": "ComponentController.getRequiredRole",
      "offset": [
        8266,
        8312
      ],
      "op": "MLOAD",
      "path": "75"
    },
    "3504": {
      "op": "PUSH3",
      "value": "0x461BCD"
    },
    "3508": {
      "op": "PUSH1",
      "value": "0xE5"
    },
    "3510": {
      "op": "SHL"
    },
    "3511": {
      "fn": "ComponentController.getRequiredRole",
      "offset": [
        8266,
        8312
      ],
      "op": "DUP2",
      "path": "75"
    },
    "3512": {
      "fn": "ComponentController.getRequiredRole",
      "offset": [
        8266,
        8312
      ],
      "op": "MSTORE",
      "path": "75"
    },
    "3513": {
      "op": "PUSH1",
      "value": "0x20"
    },
    "3515": {
      "fn": "ComponentController.getRequiredRole",
      "offset": [
        8266,
        8312
      ],
      "op": "PUSH1",
      "path": "75",
      "value": "0x4"
    },
    "3517": {
      "fn": "ComponentController.getRequiredRole",
      "offset": [
        8266,
        8312
      ],
      "op": "DUP3",
      "path": "75"
    },
    "3518": {
      "fn": "ComponentController.getRequiredRole",
      "offset": [
        8266,
        8312
      ],
      "op": "ADD",
      "path": "75"
    },
    "3519": {
      "op": "MSTORE"
    },
    "3520": {
      "op": "PUSH1",
      "value": "0x24"
    },
    "3522": {
      "op": "DUP1"
    },
    "3523": {
      "op": "DUP3"
    },
    "3524": {
      "op": "ADD"
    },
    "3525": {
      "op": "MSTORE"
    },
    "3526": {
      "op": "PUSH32",
      "value": "0x4552524F523A4343522D3031303A434F4D504F4E454E545F545950455F554E4B"
    },
    "3559": {
      "op": "PUSH1",
      "value": "0x44"
    },
    "3561": {
      "op": "DUP3"
    },
    "3562": {
      "op": "ADD"
    },
    "3563": {
      "op": "MSTORE"
    },
    "3564": {
      "op": "PUSH4",
      "value": "0x2727ABA7"
    },
    "3569": {
      "op": "PUSH1",
      "value": "0xE1"
    },
    "3571": {
      "op": "SHL"
    },
    "3572": {
      "op": "PUSH1",
      "value": "0x64"
    },
    "3574": {
      "op": "DUP3"
    },
    "3575": {
      "op": "ADD"
    },
    "3576": {
      "op": "MSTORE"
    },
    "3577": {
      "op": "PUSH1",
      "value": "0x84"
    },
    "3579": {
      "op": "ADD"
    },
    "3580": {
      "fn": "ComponentController.getRequiredRole",
      "offset": [
        8266,
        8312
      ],
      "op": "PUSH2",
      "path": "75",
      "value": "0x453"
    },
    "3583": {
      "op": "JUMP"
    },
    "3584": {
      "fn": "ComponentController.archiveFromComponentOwner",
      "offset": [
        5493,
        5845
      ],
      "op": "JUMPDEST",
      "path": "75"
    },
    "3585": {
      "offset": [
        1273,
        1317
      ],
      "op": "PUSH2",
      "path": "75",
      "value": "0xE21"
    },
    "3588": {
      "op": "PUSH21",
      "value": "0x436F6D706F6E656E744F776E657253657276696365"
    },
    "3610": {
      "op": "PUSH1",
      "value": "0x58"
    },
    "3612": {
      "op": "SHL"
    },
    "3613": {
      "offset": [
        1273,
        1292
      ],
      "op": "PUSH2",
      "path": "75",
      "value": "0x1460"
    },
    "3616": {
      "jump": "i",
      "offset": [
        1273,
        1317
      ],
      "op": "JUMP",
      "path": "75"
    },
    "3617": {
      "fn": "ComponentController.archiveFromComponentOwner",
      "offset": [
        1273,
        1317
      ],
      "op": "JUMPDEST",
      "path": "75"
    },
    "3618": {
      "op": "PUSH1",
      "value": "0x1"
    },
    "3620": {
      "op": "PUSH1",
      "value": "0x1"
    },
    "3622": {
      "op": "PUSH1",
      "value": "0xA0"
    },
    "3624": {
      "op": "SHL"
    },
    "3625": {
      "op": "SUB"
    },
    "3626": {
      "offset": [
        1257,
        1317
      ],
      "op": "AND",
      "path": "75"
    },
    "3627": {
      "fn": "Context._msgSender",
      "offset": [
        719,
        729
      ],
      "op": "CALLER",
      "path": "22"
    },
    "3628": {
      "op": "PUSH1",
      "value": "0x1"
    },
    "3630": {
      "op": "PUSH1",
      "value": "0x1"
    },
    "3632": {
      "op": "PUSH1",
      "value": "0xA0"
    },
    "3634": {
      "op": "SHL"
    },
    "3635": {
      "op": "SUB"
    },
    "3636": {
      "offset": [
        1257,
        1317
      ],
      "op": "AND",
      "path": "75"
    },
    "3637": {
      "fn": "Context._msgSender",
      "offset": [
        1257,
        1317
      ],
      "op": "EQ",
      "path": "75"
    },
    "3638": {
      "offset": [
        1236,
        1375
      ],
      "op": "PUSH2",
      "path": "75",
      "value": "0x7A1"
    },
    "3641": {
      "offset": [
        1236,
        1375
      ],
      "op": "JUMPI",
      "path": "75"
    },
    "3642": {
      "fn": "Context._msgSender",
      "offset": [
        1236,
        1375
      ],
      "op": "PUSH1",
      "path": "75",
      "value": "0x40"
    },
    "3644": {
      "fn": "Context._msgSender",
      "offset": [
        1236,
        1375
      ],
      "op": "MLOAD",
      "path": "75"
    },
    "3645": {
      "op": "PUSH3",
      "value": "0x461BCD"
    },
    "3649": {
      "op": "PUSH1",
      "value": "0xE5"
    },
    "3651": {
      "op": "SHL"
    },
    "3652": {
      "offset": [
        1236,
        1375
      ],
      "op": "DUP2",
      "path": "75"
    },
    "3653": {
      "fn": "Context._msgSender",
      "offset": [
        1236,
        1375
      ],
      "op": "MSTORE",
      "path": "75"
    },
    "3654": {
      "fn": "Context._msgSender",
      "offset": [
        1236,
        1375
      ],
      "op": "PUSH1",
      "path": "75",
      "value": "0x4"
    },
    "3656": {
      "fn": "Context._msgSender",
      "offset": [
        1236,
        1375
      ],
      "op": "ADD",
      "path": "75"
    },
    "3657": {
      "fn": "Context._msgSender",
      "offset": [
        1236,
        1375
      ],
      "op": "PUSH2",
      "path": "75",
      "value": "0x453"
    },
    "3660": {
      "fn": "Context._msgSender",
      "offset": [
        1236,
        1375
      ],
      "op": "SWAP1",
      "path": "75"
    },
    "3661": {
      "fn": "Context._msgSender",
      "offset": [
        1236,
        1375
      ],
      "op": "PUSH2",
      "path": "75",
      "value": "0x20EF"
    },
    "3664": {
      "fn": "Context._msgSender",
      "jump": "i",
      "offset": [
        1236,
        1375
      ],
      "op": "JUMP",
      "path": "75"
    },
    "3665": {
      "fn": "ComponentController.getProductId",
      "offset": [
        7686,
        7817
      ],
      "op": "JUMPDEST",
      "path": "75"
    },
    "3666": {
      "fn": "ComponentController.getProductId",
      "offset": [
        7742,
        7759
      ],
      "op": "PUSH1",
      "path": "75",
      "value": "0x0"
    },
    "3668": {
      "fn": "ComponentController.getProductId",
      "offset": [
        7778,
        7810
      ],
      "op": "PUSH2",
      "path": "75",
      "statement": 32,
      "value": "0x746"
    },
    "3671": {
      "fn": "ComponentController.getProductId",
      "offset": [
        7795,
        7804
      ],
      "op": "PUSH1",
      "path": "75",
      "value": "0x6"
    },
    "3673": {
      "fn": "ComponentController.getProductId",
      "offset": [
        7806,
        7809
      ],
      "op": "DUP4",
      "path": "75"
    },
    "3674": {
      "fn": "ComponentController.getProductId",
      "offset": [
        7778,
        7794
      ],
      "op": "PUSH2",
      "path": "75",
      "value": "0x18F1"
    },
    "3677": {
      "fn": "ComponentController.getProductId",
      "jump": "i",
      "offset": [
        7778,
        7810
      ],
      "op": "JUMP",
      "path": "75"
    },
    "3678": {
      "fn": "ComponentController.decline",
      "offset": [
        3805,
        4138
      ],
      "op": "JUMPDEST",
      "path": "75"
    },
    "3679": {
      "offset": [
        1485,
        1531
      ],
      "op": "PUSH2",
      "path": "75",
      "value": "0xE81"
    },
    "3682": {
      "op": "PUSH23",
      "value": "0x496E7374616E63654F70657261746F7253657276696365"
    },
    "3706": {
      "op": "PUSH1",
      "value": "0x48"
    },
    "3708": {
      "op": "SHL"
    },
    "3709": {
      "offset": [
        1485,
        1504
      ],
      "op": "PUSH2",
      "path": "75",
      "value": "0x1460"
    },
    "3712": {
      "jump": "i",
      "offset": [
        1485,
        1531
      ],
      "op": "JUMP",
      "path": "75"
    },
    "3713": {
      "fn": "ComponentController.decline",
      "offset": [
        1485,
        1531
      ],
      "op": "JUMPDEST",
      "path": "75"
    },
    "3714": {
      "op": "PUSH1",
      "value": "0x1"
    },
    "3716": {
      "op": "PUSH1",
      "value": "0x1"
    },
    "3718": {
      "op": "PUSH1",
      "value": "0xA0"
    },
    "3720": {
      "op": "SHL"
    },
    "3721": {
      "op": "SUB"
    },
    "3722": {
      "offset": [
        1469,
        1531
      ],
      "op": "AND",
      "path": "75"
    },
    "3723": {
      "fn": "Context._msgSender",
      "offset": [
        719,
        729
      ],
      "op": "CALLER",
      "path": "22"
    },
    "3724": {
      "op": "PUSH1",
      "value": "0x1"
    },
    "3726": {
      "op": "PUSH1",
      "value": "0x1"
    },
    "3728": {
      "op": "PUSH1",
      "value": "0xA0"
    },
    "3730": {
      "op": "SHL"
    },
    "3731": {
      "op": "SUB"
    },
    "3732": {
      "offset": [
        1469,
        1531
      ],
      "op": "AND",
      "path": "75"
    },
    "3733": {
      "fn": "Context._msgSender",
      "offset": [
        1469,
        1531
      ],
      "op": "EQ",
      "path": "75"
    },
    "3734": {
      "offset": [
        1448,
        1591
      ],
      "op": "PUSH2",
      "path": "75",
      "value": "0xEB1"
    },
    "3737": {
      "offset": [
        1448,
        1591
      ],
      "op": "JUMPI",
      "path": "75"
    },
    "3738": {
      "fn": "Context._msgSender",
      "offset": [
        1448,
        1591
      ],
      "op": "PUSH1",
      "path": "75",
      "value": "0x40"
    },
    "3740": {
      "fn": "Context._msgSender",
      "offset": [
        1448,
        1591
      ],
      "op": "MLOAD",
      "path": "75"
    },
    "3741": {
      "op": "PUSH3",
      "value": "0x461BCD"
    },
    "3745": {
      "op": "PUSH1",
      "value": "0xE5"
    },
    "3747": {
      "op": "SHL"
    },
    "3748": {
      "offset": [
        1448,
        1591
      ],
      "op": "DUP2",
      "path": "75"
    },
    "3749": {
      "fn": "Context._msgSender",
      "offset": [
        1448,
        1591
      ],
      "op": "MSTORE",
      "path": "75"
    },
    "3750": {
      "fn": "Context._msgSender",
      "offset": [
        1448,
        1591
      ],
      "op": "PUSH1",
      "path": "75",
      "value": "0x4"
    },
    "3752": {
      "fn": "Context._msgSender",
      "offset": [
        1448,
        1591
      ],
      "op": "ADD",
      "path": "75"
    },
    "3753": {
      "fn": "Context._msgSender",
      "offset": [
        1448,
        1591
      ],
      "op": "PUSH2",
      "path": "75",
      "value": "0x453"
    },
    "3756": {
      "fn": "Context._msgSender",
      "offset": [
        1448,
        1591
      ],
      "op": "SWAP1",
      "path": "75"
    },
    "3757": {
      "fn": "Context._msgSender",
      "offset": [
        1448,
        1591
      ],
      "op": "PUSH2",
      "path": "75",
      "value": "0x20A4"
    },
    "3760": {
      "fn": "Context._msgSender",
      "jump": "i",
      "offset": [
        1448,
        1591
      ],
      "op": "JUMP",
      "path": "75"
    },
    "3761": {
      "fn": "Context._msgSender",
      "offset": [
        1448,
        1591
      ],
      "op": "JUMPDEST",
      "path": "75"
    },
    "3762": {
      "fn": "ComponentController.decline",
      "offset": [
        3903,
        3955
      ],
      "op": "PUSH2",
      "path": "75",
      "statement": 33,
      "value": "0xEBC"
    },
    "3765": {
      "fn": "ComponentController.decline",
      "offset": [
        3916,
        3918
      ],
      "op": "DUP2",
      "path": "75"
    },
    "3766": {
      "fn": "ComponentController.decline",
      "offset": [
        3920,
        3954
      ],
      "op": "PUSH1",
      "path": "75",
      "value": "0x2"
    },
    "3768": {
      "fn": "ComponentController.decline",
      "offset": [
        3903,
        3915
      ],
      "op": "PUSH2",
      "path": "75",
      "value": "0x184D"
    },
    "3771": {
      "fn": "ComponentController.decline",
      "jump": "i",
      "offset": [
        3903,
        3955
      ],
      "op": "JUMP",
      "path": "75"
    },
    "3772": {
      "fn": "ComponentController.decline",
      "offset": [
        3903,
        3955
      ],
      "op": "JUMPDEST",
      "path": "75"
    },
    "3773": {
      "fn": "ComponentController.decline",
      "offset": [
        3970,
        3994
      ],
      "op": "PUSH1",
      "path": "75",
      "statement": 34,
      "value": "0x40"
    },
    "3775": {
      "fn": "ComponentController.decline",
      "offset": [
        3970,
        3994
      ],
      "op": "MLOAD",
      "path": "75"
    },
    "3776": {
      "op": "DUP2"
    },
    "3777": {
      "op": "DUP2"
    },
    "3778": {
      "op": "MSTORE"
    },
    "3779": {
      "fn": "ComponentController.decline",
      "offset": [
        3970,
        3994
      ],
      "op": "PUSH32",
      "path": "75",
      "value": "0xD541B5F22E9E402FB32220D566405510C49372D27B4F47F1D0DA1A153EA2007C"
    },
    "3812": {
      "fn": "ComponentController.decline",
      "offset": [
        3970,
        3994
      ],
      "op": "SWAP1",
      "path": "75"
    },
    "3813": {
      "op": "PUSH1",
      "value": "0x20"
    },
    "3815": {
      "op": "ADD"
    },
    "3816": {
      "fn": "ComponentController.decline",
      "offset": [
        3970,
        3994
      ],
      "op": "PUSH1",
      "path": "75",
      "value": "0x40"
    },
    "3818": {
      "fn": "ComponentController.decline",
      "offset": [
        3970,
        3994
      ],
      "op": "MLOAD",
      "path": "75"
    },
    "3819": {
      "fn": "ComponentController.decline",
      "offset": [
        3970,
        3994
      ],
      "op": "DUP1",
      "path": "75"
    },
    "3820": {
      "fn": "ComponentController.decline",
      "offset": [
        3970,
        3994
      ],
      "op": "SWAP2",
      "path": "75"
    },
    "3821": {
      "fn": "ComponentController.decline",
      "offset": [
        3970,
        3994
      ],
      "op": "SUB",
      "path": "75"
    },
    "3822": {
      "fn": "ComponentController.decline",
      "offset": [
        3970,
        3994
      ],
      "op": "SWAP1",
      "path": "75"
    },
    "3823": {
      "fn": "ComponentController.decline",
      "offset": [
        3970,
        3994
      ],
      "op": "LOG1",
      "path": "75"
    },
    "3824": {
      "fn": "ComponentController.decline",
      "offset": [
        4055,
        4075
      ],
      "op": "PUSH1",
      "path": "75",
      "value": "0x0"
    },
    "3826": {
      "fn": "ComponentController.decline",
      "offset": [
        4078,
        4094
      ],
      "op": "PUSH2",
      "path": "75",
      "value": "0xEFA"
    },
    "3829": {
      "fn": "ComponentController.decline",
      "offset": [
        4091,
        4093
      ],
      "op": "DUP3",
      "path": "75"
    },
    "3830": {
      "fn": "ComponentController.decline",
      "offset": [
        4078,
        4090
      ],
      "op": "PUSH2",
      "path": "75",
      "value": "0xB99"
    },
    "3833": {
      "fn": "ComponentController.decline",
      "jump": "i",
      "offset": [
        4078,
        4094
      ],
      "op": "JUMP",
      "path": "75"
    },
    "3834": {
      "fn": "ComponentController.decline",
      "offset": [
        4078,
        4094
      ],
      "op": "JUMPDEST",
      "path": "75"
    },
    "3835": {
      "fn": "ComponentController.decline",
      "offset": [
        4055,
        4094
      ],
      "op": "SWAP1",
      "path": "75"
    },
    "3836": {
      "fn": "ComponentController.decline",
      "offset": [
        4055,
        4094
      ],
      "op": "POP",
      "path": "75"
    },
    "3837": {
      "fn": "ComponentController.decline",
      "offset": [
        4104,
        4113
      ],
      "op": "DUP1",
      "path": "75",
      "statement": 35
    },
    "3838": {
      "op": "PUSH1",
      "value": "0x1"
    },
    "3840": {
      "op": "PUSH1",
      "value": "0x1"
    },
    "3842": {
      "op": "PUSH1",
      "value": "0xA0"
    },
    "3844": {
      "op": "SHL"
    },
    "3845": {
      "op": "SUB"
    },
    "3846": {
      "fn": "ComponentController.decline",
      "offset": [
        4104,
        4129
      ],
      "op": "AND",
      "path": "75"
    },
    "3847": {
      "fn": "ComponentController.decline",
      "offset": [
        4104,
        4129
      ],
      "op": "PUSH4",
      "path": "75",
      "value": "0xBD1FE5D0"
    },
    "3852": {
      "fn": "ComponentController.decline",
      "offset": [
        4104,
        4131
      ],
      "op": "PUSH1",
      "path": "75",
      "value": "0x40"
    },
    "3854": {
      "fn": "ComponentController.decline",
      "offset": [
        4104,
        4131
      ],
      "op": "MLOAD",
      "path": "75"
    },
    "3855": {
      "fn": "ComponentController.decline",
      "offset": [
        4104,
        4131
      ],
      "op": "DUP2",
      "path": "75"
    },
    "3856": {
      "fn": "ComponentController.decline",
      "offset": [
        4104,
        4131
      ],
      "op": "PUSH4",
      "path": "75",
      "value": "0xFFFFFFFF"
    },
    "3861": {
      "fn": "ComponentController.decline",
      "offset": [
        4104,
        4131
      ],
      "op": "AND",
      "path": "75"
    },
    "3862": {
      "fn": "ComponentController.decline",
      "offset": [
        4104,
        4131
      ],
      "op": "PUSH1",
      "path": "75",
      "value": "0xE0"
    },
    "3864": {
      "fn": "ComponentController.decline",
      "offset": [
        4104,
        4131
      ],
      "op": "SHL",
      "path": "75"
    },
    "3865": {
      "fn": "ComponentController.decline",
      "offset": [
        4104,
        4131
      ],
      "op": "DUP2",
      "path": "75"
    },
    "3866": {
      "fn": "ComponentController.decline",
      "offset": [
        4104,
        4131
      ],
      "op": "MSTORE",
      "path": "75"
    },
    "3867": {
      "fn": "ComponentController.decline",
      "offset": [
        4104,
        4131
      ],
      "op": "PUSH1",
      "path": "75",
      "value": "0x4"
    },
    "3869": {
      "fn": "ComponentController.decline",
      "offset": [
        4104,
        4131
      ],
      "op": "ADD",
      "path": "75"
    },
    "3870": {
      "fn": "ComponentController.decline",
      "offset": [
        4104,
        4131
      ],
      "op": "PUSH1",
      "path": "75",
      "value": "0x0"
    },
    "3872": {
      "fn": "ComponentController.decline",
      "offset": [
        4104,
        4131
      ],
      "op": "PUSH1",
      "path": "75",
      "value": "0x40"
    },
    "3874": {
      "fn": "ComponentController.decline",
      "offset": [
        4104,
        4131
      ],
      "op": "MLOAD",
      "path": "75"
    },
    "3875": {
      "fn": "ComponentController.decline",
      "offset": [
        4104,
        4131
      ],
      "op": "DUP1",
      "path": "75"
    },
    "3876": {
      "fn": "ComponentController.decline",
      "offset": [
        4104,
        4131
      ],
      "op": "DUP4",
      "path": "75"
    },
    "3877": {
      "fn": "ComponentController.decline",
      "offset": [
        4104,
        4131
      ],
      "op": "SUB",
      "path": "75"
    },
    "3878": {
      "fn": "ComponentController.decline",
      "offset": [
        4104,
        4131
      ],
      "op": "DUP2",
      "path": "75"
    },
    "3879": {
      "fn": "ComponentController.decline",
      "offset": [
        4104,
        4131
      ],
      "op": "PUSH1",
      "path": "75",
      "value": "0x0"
    },
    "3881": {
      "fn": "ComponentController.decline",
      "offset": [
        4104,
        4131
      ],
      "op": "DUP8",
      "path": "75"
    },
    "3882": {
      "fn": "ComponentController.decline",
      "offset": [
        4104,
        4131
      ],
      "op": "DUP1",
      "path": "75"
    },
    "3883": {
      "fn": "ComponentController.decline",
      "offset": [
        4104,
        4131
      ],
      "op": "EXTCODESIZE",
      "path": "75"
    },
    "3884": {
      "fn": "ComponentController.decline",
      "offset": [
        4104,
        4131
      ],
      "op": "ISZERO",
      "path": "75"
    },
    "3885": {
      "fn": "ComponentController.decline",
      "offset": [
        4104,
        4131
      ],
      "op": "DUP1",
      "path": "75"
    },
    "3886": {
      "fn": "ComponentController.decline",
      "offset": [
        4104,
        4131
      ],
      "op": "ISZERO",
      "path": "75"
    },
    "3887": {
      "fn": "ComponentController.decline",
      "offset": [
        4104,
        4131
      ],
      "op": "PUSH2",
      "path": "75",
      "value": "0x71D"
    },
    "3890": {
      "fn": "ComponentController.decline",
      "offset": [
        4104,
        4131
      ],
      "op": "JUMPI",
      "path": "75"
    },
    "3891": {
      "fn": "ComponentController.decline",
      "offset": [
        4104,
        4131
      ],
      "op": "PUSH1",
      "path": "75",
      "value": "0x0"
    },
    "3893": {
      "fn": "ComponentController.decline",
      "offset": [
        4104,
        4131
      ],
      "op": "DUP1",
      "path": "75"
    },
    "3894": {
      "fn": "ComponentController.decline",
      "offset": [
        4104,
        4131
      ],
      "op": "REVERT",
      "path": "75"
    },
    "3895": {
      "fn": "ComponentController.riskpools",
      "offset": [
        8623,
        8724
      ],
      "op": "JUMPDEST",
      "path": "75"
    },
    "3896": {
      "fn": "ComponentController.riskpools",
      "offset": [
        8665,
        8678
      ],
      "op": "PUSH1",
      "path": "75",
      "value": "0x0"
    },
    "3898": {
      "fn": "ComponentController.riskpools",
      "offset": [
        8689,
        8721
      ],
      "op": "PUSH2",
      "path": "75",
      "statement": 36,
      "value": "0x90A"
    },
    "3901": {
      "fn": "ComponentController.riskpools",
      "offset": [
        8710,
        8720
      ],
      "op": "PUSH1",
      "path": "75",
      "value": "0xA"
    },
    "3903": {
      "fn": "ComponentController.riskpools",
      "offset": [
        8689,
        8709
      ],
      "op": "PUSH2",
      "path": "75",
      "value": "0x18E7"
    },
    "3906": {
      "fn": "ComponentController.riskpools",
      "jump": "i",
      "offset": [
        8689,
        8721
      ],
      "op": "JUMP",
      "path": "75"
    },
    "3907": {
      "fn": "ComponentController.getOracleId",
      "offset": [
        7412,
        7540
      ],
      "op": "JUMPDEST",
      "path": "75"
    },
    "3908": {
      "fn": "ComponentController.getOracleId",
      "offset": [
        7467,
        7483
      ],
      "op": "PUSH1",
      "path": "75",
      "value": "0x0"
    },
    "3910": {
      "fn": "ComponentController.getOracleId",
      "offset": [
        7502,
        7533
      ],
      "op": "PUSH2",
      "path": "75",
      "statement": 37,
      "value": "0x746"
    },
    "3913": {
      "fn": "ComponentController.getOracleId",
      "offset": [
        7519,
        7527
      ],
      "op": "PUSH1",
      "path": "75",
      "value": "0x8"
    },
    "3915": {
      "fn": "ComponentController.getOracleId",
      "offset": [
        7529,
        7532
      ],
      "op": "DUP4",
      "path": "75"
    },
    "3916": {
      "fn": "ComponentController.getOracleId",
      "offset": [
        7502,
        7518
      ],
      "op": "PUSH2",
      "path": "75",
      "value": "0x18F1"
    },
    "3919": {
      "fn": "ComponentController.getOracleId",
      "jump": "i",
      "offset": [
        7502,
        7533
      ],
      "op": "JUMP",
      "path": "75"
    },
    "3920": {
      "fn": "ComponentController.approve",
      "offset": [
        3327,
        3799
      ],
      "op": "JUMPDEST",
      "path": "75"
    },
    "3921": {
      "offset": [
        1485,
        1531
      ],
      "op": "PUSH2",
      "path": "75",
      "value": "0xF73"
    },
    "3924": {
      "op": "PUSH23",
      "value": "0x496E7374616E63654F70657261746F7253657276696365"
    },
    "3948": {
      "op": "PUSH1",
      "value": "0x48"
    },
    "3950": {
      "op": "SHL"
    },
    "3951": {
      "offset": [
        1485,
        1504
      ],
      "op": "PUSH2",
      "path": "75",
      "value": "0x1460"
    },
    "3954": {
      "jump": "i",
      "offset": [
        1485,
        1531
      ],
      "op": "JUMP",
      "path": "75"
    },
    "3955": {
      "fn": "ComponentController.approve",
      "offset": [
        1485,
        1531
      ],
      "op": "JUMPDEST",
      "path": "75"
    },
    "3956": {
      "op": "PUSH1",
      "value": "0x1"
    },
    "3958": {
      "op": "PUSH1",
      "value": "0x1"
    },
    "3960": {
      "op": "PUSH1",
      "value": "0xA0"
    },
    "3962": {
      "op": "SHL"
    },
    "3963": {
      "op": "SUB"
    },
    "3964": {
      "offset": [
        1469,
        1531
      ],
      "op": "AND",
      "path": "75"
    },
    "3965": {
      "fn": "Context._msgSender",
      "offset": [
        719,
        729
      ],
      "op": "CALLER",
      "path": "22"
    },
    "3966": {
      "op": "PUSH1",
      "value": "0x1"
    },
    "3968": {
      "op": "PUSH1",
      "value": "0x1"
    },
    "3970": {
      "op": "PUSH1",
      "value": "0xA0"
    },
    "3972": {
      "op": "SHL"
    },
    "3973": {
      "op": "SUB"
    },
    "3974": {
      "offset": [
        1469,
        1531
      ],
      "op": "AND",
      "path": "75"
    },
    "3975": {
      "branch": 100,
      "fn": "Context._msgSender",
      "offset": [
        1469,
        1531
      ],
      "op": "EQ",
      "path": "75"
    },
    "3976": {
      "offset": [
        1448,
        1591
      ],
      "op": "PUSH2",
      "path": "75",
      "value": "0xFA3"
    },
    "3979": {
      "branch": 100,
      "offset": [
        1448,
        1591
      ],
      "op": "JUMPI",
      "path": "75"
    },
    "3980": {
      "fn": "Context._msgSender",
      "offset": [
        1448,
        1591
      ],
      "op": "PUSH1",
      "path": "75",
      "value": "0x40"
    },
    "3982": {
      "fn": "Context._msgSender",
      "offset": [
        1448,
        1591
      ],
      "op": "MLOAD",
      "path": "75"
    },
    "3983": {
      "op": "PUSH3",
      "value": "0x461BCD"
    },
    "3987": {
      "op": "PUSH1",
      "value": "0xE5"
    },
    "3989": {
      "op": "SHL"
    },
    "3990": {
      "offset": [
        1448,
        1591
      ],
      "op": "DUP2",
      "path": "75"
    },
    "3991": {
      "fn": "Context._msgSender",
      "offset": [
        1448,
        1591
      ],
      "op": "MSTORE",
      "path": "75"
    },
    "3992": {
      "fn": "Context._msgSender",
      "offset": [
        1448,
        1591
      ],
      "op": "PUSH1",
      "path": "75",
      "value": "0x4"
    },
    "3994": {
      "fn": "Context._msgSender",
      "offset": [
        1448,
        1591
      ],
      "op": "ADD",
      "path": "75"
    },
    "3995": {
      "fn": "Context._msgSender",
      "offset": [
        1448,
        1591
      ],
      "op": "PUSH2",
      "path": "75",
      "value": "0x453"
    },
    "3998": {
      "fn": "Context._msgSender",
      "offset": [
        1448,
        1591
      ],
      "op": "SWAP1",
      "path": "75"
    },
    "3999": {
      "fn": "Context._msgSender",
      "offset": [
        1448,
        1591
      ],
      "op": "PUSH2",
      "path": "75",
      "value": "0x20A4"
    },
    "4002": {
      "fn": "Context._msgSender",
      "jump": "i",
      "offset": [
        1448,
        1591
      ],
      "op": "JUMP",
      "path": "75"
    },
    "4003": {
      "fn": "Context._msgSender",
      "offset": [
        1448,
        1591
      ],
      "op": "JUMPDEST",
      "path": "75"
    },
    "4004": {
      "fn": "ComponentController.approve",
      "offset": [
        3425,
        3475
      ],
      "op": "PUSH2",
      "path": "75",
      "statement": 38,
      "value": "0xFAE"
    },
    "4007": {
      "fn": "ComponentController.approve",
      "offset": [
        3438,
        3440
      ],
      "op": "DUP2",
      "path": "75"
    },
    "4008": {
      "fn": "ComponentController.approve",
      "offset": [
        3442,
        3474
      ],
      "op": "PUSH1",
      "path": "75",
      "value": "0x3"
    },
    "4010": {
      "fn": "ComponentController.approve",
      "offset": [
        3425,
        3437
      ],
      "op": "PUSH2",
      "path": "75",
      "value": "0x184D"
    },
    "4013": {
      "fn": "ComponentController.approve",
      "jump": "i",
      "offset": [
        3425,
        3475
      ],
      "op": "JUMP",
      "path": "75"
    },
    "4014": {
      "fn": "ComponentController.approve",
      "offset": [
        3425,
        3475
      ],
      "op": "JUMPDEST",
      "path": "75"
    },
    "4015": {
      "fn": "ComponentController.approve",
      "offset": [
        3485,
        3505
      ],
      "op": "PUSH1",
      "path": "75",
      "value": "0x0"
    },
    "4017": {
      "fn": "ComponentController.approve",
      "offset": [
        3508,
        3524
      ],
      "op": "PUSH2",
      "path": "75",
      "value": "0xFB9"
    },
    "4020": {
      "fn": "ComponentController.approve",
      "offset": [
        3521,
        3523
      ],
      "op": "DUP3",
      "path": "75"
    },
    "4021": {
      "fn": "ComponentController.approve",
      "offset": [
        3508,
        3520
      ],
      "op": "PUSH2",
      "path": "75",
      "value": "0xB99"
    },
    "4024": {
      "fn": "ComponentController.approve",
      "jump": "i",
      "offset": [
        3508,
        3524
      ],
      "op": "JUMP",
      "path": "75"
    },
    "4025": {
      "fn": "ComponentController.approve",
      "offset": [
        3508,
        3524
      ],
      "op": "JUMPDEST",
      "path": "75"
    },
    "4026": {
      "fn": "ComponentController.approve",
      "offset": [
        3485,
        3524
      ],
      "op": "SWAP1",
      "path": "75"
    },
    "4027": {
      "fn": "ComponentController.approve",
      "offset": [
        3485,
        3524
      ],
      "op": "POP",
      "path": "75"
    },
    "4028": {
      "fn": "ComponentController.approve",
      "offset": [
        3539,
        3552
      ],
      "op": "PUSH2",
      "path": "75",
      "value": "0xFC4"
    },
    "4031": {
      "fn": "ComponentController.approve",
      "offset": [
        3549,
        3551
      ],
      "op": "DUP3",
      "path": "75"
    },
    "4032": {
      "fn": "ComponentController.approve",
      "offset": [
        3539,
        3548
      ],
      "op": "PUSH2",
      "path": "75",
      "value": "0x9DA"
    },
    "4035": {
      "fn": "ComponentController.approve",
      "jump": "i",
      "offset": [
        3539,
        3552
      ],
      "op": "JUMP",
      "path": "75"
    },
    "4036": {
      "branch": 101,
      "fn": "ComponentController.approve",
      "offset": [
        3539,
        3552
      ],
      "op": "JUMPDEST",
      "path": "75"
    },
    "4037": {
      "fn": "ComponentController.approve",
      "offset": [
        3535,
        3652
      ],
      "op": "ISZERO",
      "path": "75"
    },
    "4038": {
      "fn": "ComponentController.approve",
      "offset": [
        3535,
        3652
      ],
      "op": "PUSH2",
      "path": "75",
      "value": "0x1067"
    },
    "4041": {
      "branch": 101,
      "fn": "ComponentController.approve",
      "offset": [
        3535,
        3652
      ],
      "op": "JUMPI",
      "path": "75"
    },
    "4042": {
      "fn": "ComponentController.approve",
      "offset": [
        3614,
        3623
      ],
      "op": "DUP1",
      "path": "75",
      "statement": 39
    },
    "4043": {
      "op": "PUSH1",
      "value": "0x1"
    },
    "4045": {
      "op": "PUSH1",
      "value": "0x1"
    },
    "4047": {
      "op": "PUSH1",
      "value": "0xA0"
    },
    "4049": {
      "op": "SHL"
    },
    "4050": {
      "op": "SUB"
    },
    "4051": {
      "fn": "ComponentController.approve",
      "offset": [
        3597,
        3639
      ],
      "op": "AND",
      "path": "75"
    },
    "4052": {
      "fn": "ComponentController.approve",
      "offset": [
        3597,
        3639
      ],
      "op": "PUSH4",
      "path": "75",
      "value": "0x637D08F4"
    },
    "4057": {
      "fn": "ComponentController.approve",
      "offset": [
        3597,
        3641
      ],
      "op": "PUSH1",
      "path": "75",
      "value": "0x40"
    },
    "4059": {
      "fn": "ComponentController.approve",
      "offset": [
        3597,
        3641
      ],
      "op": "MLOAD",
      "path": "75"
    },
    "4060": {
      "fn": "ComponentController.approve",
      "offset": [
        3597,
        3641
      ],
      "op": "DUP2",
      "path": "75"
    },
    "4061": {
      "fn": "ComponentController.approve",
      "offset": [
        3597,
        3641
      ],
      "op": "PUSH4",
      "path": "75",
      "value": "0xFFFFFFFF"
    },
    "4066": {
      "fn": "ComponentController.approve",
      "offset": [
        3597,
        3641
      ],
      "op": "AND",
      "path": "75"
    },
    "4067": {
      "fn": "ComponentController.approve",
      "offset": [
        3597,
        3641
      ],
      "op": "PUSH1",
      "path": "75",
      "value": "0xE0"
    },
    "4069": {
      "fn": "ComponentController.approve",
      "offset": [
        3597,
        3641
      ],
      "op": "SHL",
      "path": "75"
    },
    "4070": {
      "fn": "ComponentController.approve",
      "offset": [
        3597,
        3641
      ],
      "op": "DUP2",
      "path": "75"
    },
    "4071": {
      "fn": "ComponentController.approve",
      "offset": [
        3597,
        3641
      ],
      "op": "MSTORE",
      "path": "75"
    },
    "4072": {
      "fn": "ComponentController.approve",
      "offset": [
        3597,
        3641
      ],
      "op": "PUSH1",
      "path": "75",
      "value": "0x4"
    },
    "4074": {
      "fn": "ComponentController.approve",
      "offset": [
        3597,
        3641
      ],
      "op": "ADD",
      "path": "75"
    },
    "4075": {
      "fn": "ComponentController.approve",
      "offset": [
        3597,
        3641
      ],
      "op": "PUSH1",
      "path": "75",
      "value": "0x20"
    },
    "4077": {
      "fn": "ComponentController.approve",
      "offset": [
        3597,
        3641
      ],
      "op": "PUSH1",
      "path": "75",
      "value": "0x40"
    },
    "4079": {
      "fn": "ComponentController.approve",
      "offset": [
        3597,
        3641
      ],
      "op": "MLOAD",
      "path": "75"
    },
    "4080": {
      "fn": "ComponentController.approve",
      "offset": [
        3597,
        3641
      ],
      "op": "DUP1",
      "path": "75"
    },
    "4081": {
      "fn": "ComponentController.approve",
      "offset": [
        3597,
        3641
      ],
      "op": "DUP4",
      "path": "75"
    },
    "4082": {
      "fn": "ComponentController.approve",
      "offset": [
        3597,
        3641
      ],
      "op": "SUB",
      "path": "75"
    },
    "4083": {
      "fn": "ComponentController.approve",
      "offset": [
        3597,
        3641
      ],
      "op": "DUP2",
      "path": "75"
    },
    "4084": {
      "fn": "ComponentController.approve",
      "offset": [
        3597,
        3641
      ],
      "op": "DUP7",
      "path": "75"
    },
    "4085": {
      "fn": "ComponentController.approve",
      "offset": [
        3597,
        3641
      ],
      "op": "DUP1",
      "path": "75"
    },
    "4086": {
      "fn": "ComponentController.approve",
      "offset": [
        3597,
        3641
      ],
      "op": "EXTCODESIZE",
      "path": "75"
    },
    "4087": {
      "fn": "ComponentController.approve",
      "offset": [
        3597,
        3641
      ],
      "op": "ISZERO",
      "path": "75"
    },
    "4088": {
      "fn": "ComponentController.approve",
      "offset": [
        3597,
        3641
      ],
      "op": "DUP1",
      "path": "75"
    },
    "4089": {
      "fn": "ComponentController.approve",
      "offset": [
        3597,
        3641
      ],
      "op": "ISZERO",
      "path": "75"
    },
    "4090": {
      "fn": "ComponentController.approve",
      "offset": [
        3597,
        3641
      ],
      "op": "PUSH2",
      "path": "75",
      "value": "0x1002"
    },
    "4093": {
      "fn": "ComponentController.approve",
      "offset": [
        3597,
        3641
      ],
      "op": "JUMPI",
      "path": "75"
    },
    "4094": {
      "fn": "ComponentController.approve",
      "offset": [
        3597,
        3641
      ],
      "op": "PUSH1",
      "path": "75",
      "value": "0x0"
    },
    "4096": {
      "fn": "ComponentController.approve",
      "offset": [
        3597,
        3641
      ],
      "op": "DUP1",
      "path": "75"
    },
    "4097": {
      "fn": "ComponentController.approve",
      "offset": [
        3597,
        3641
      ],
      "op": "REVERT",
      "path": "75"
    },
    "4098": {
      "fn": "ComponentController.approve",
      "offset": [
        3597,
        3641
      ],
      "op": "JUMPDEST",
      "path": "75"
    },
    "4099": {
      "fn": "ComponentController.approve",
      "offset": [
        3597,
        3641
      ],
      "op": "POP",
      "path": "75"
    },
    "4100": {
      "fn": "ComponentController.approve",
      "offset": [
        3597,
        3641
      ],
      "op": "GAS",
      "path": "75"
    },
    "4101": {
      "fn": "ComponentController.approve",
      "offset": [
        3597,
        3641
      ],
      "op": "STATICCALL",
      "path": "75"
    },
    "4102": {
      "fn": "ComponentController.approve",
      "offset": [
        3597,
        3641
      ],
      "op": "ISZERO",
      "path": "75"
    },
    "4103": {
      "fn": "ComponentController.approve",
      "offset": [
        3597,
        3641
      ],
      "op": "DUP1",
      "path": "75"
    },
    "4104": {
      "fn": "ComponentController.approve",
      "offset": [
        3597,
        3641
      ],
      "op": "ISZERO",
      "path": "75"
    },
    "4105": {
      "fn": "ComponentController.approve",
      "offset": [
        3597,
        3641
      ],
      "op": "PUSH2",
      "path": "75",
      "value": "0x1016"
    },
    "4108": {
      "fn": "ComponentController.approve",
      "offset": [
        3597,
        3641
      ],
      "op": "JUMPI",
      "path": "75"
    },
    "4109": {
      "fn": "ComponentController.approve",
      "offset": [
        3597,
        3641
      ],
      "op": "RETURNDATASIZE",
      "path": "75"
    },
    "4110": {
      "fn": "ComponentController.approve",
      "offset": [
        3597,
        3641
      ],
      "op": "PUSH1",
      "path": "75",
      "value": "0x0"
    },
    "4112": {
      "fn": "ComponentController.approve",
      "offset": [
        3597,
        3641
      ],
      "op": "DUP1",
      "path": "75"
    },
    "4113": {
      "fn": "ComponentController.approve",
      "offset": [
        3597,
        3641
      ],
      "op": "RETURNDATACOPY",
      "path": "75"
    },
    "4114": {
      "fn": "ComponentController.approve",
      "offset": [
        3597,
        3641
      ],
      "op": "RETURNDATASIZE",
      "path": "75"
    },
    "4115": {
      "fn": "ComponentController.approve",
      "offset": [
        3597,
        3641
      ],
      "op": "PUSH1",
      "path": "75",
      "value": "0x0"
    },
    "4117": {
      "fn": "ComponentController.approve",
      "offset": [
        3597,
        3641
      ],
      "op": "REVERT",
      "path": "75"
    },
    "4118": {
      "fn": "ComponentController.approve",
      "offset": [
        3597,
        3641
      ],
      "op": "JUMPDEST",
      "path": "75"
    },
    "4119": {
      "fn": "ComponentController.approve",
      "offset": [
        3597,
        3641
      ],
      "op": "POP",
      "path": "75"
    },
    "4120": {
      "fn": "ComponentController.approve",
      "offset": [
        3597,
        3641
      ],
      "op": "POP",
      "path": "75"
    },
    "4121": {
      "fn": "ComponentController.approve",
      "offset": [
        3597,
        3641
      ],
      "op": "POP",
      "path": "75"
    },
    "4122": {
      "fn": "ComponentController.approve",
      "offset": [
        3597,
        3641
      ],
      "op": "POP",
      "path": "75"
    },
    "4123": {
      "fn": "ComponentController.approve",
      "offset": [
        3597,
        3641
      ],
      "op": "PUSH1",
      "path": "75",
      "value": "0x40"
    },
    "4125": {
      "fn": "ComponentController.approve",
      "offset": [
        3597,
        3641
      ],
      "op": "MLOAD",
      "path": "75"
    },
    "4126": {
      "fn": "ComponentController.approve",
      "offset": [
        3597,
        3641
      ],
      "op": "RETURNDATASIZE",
      "path": "75"
    },
    "4127": {
      "fn": "ComponentController.approve",
      "offset": [
        3597,
        3641
      ],
      "op": "PUSH1",
      "path": "75",
      "value": "0x1F"
    },
    "4129": {
      "fn": "ComponentController.approve",
      "offset": [
        3597,
        3641
      ],
      "op": "NOT",
      "path": "75"
    },
    "4130": {
      "fn": "ComponentController.approve",
      "offset": [
        3597,
        3641
      ],
      "op": "PUSH1",
      "path": "75",
      "value": "0x1F"
    },
    "4132": {
      "fn": "ComponentController.approve",
      "offset": [
        3597,
        3641
      ],
      "op": "DUP3",
      "path": "75"
    },
    "4133": {
      "fn": "ComponentController.approve",
      "offset": [
        3597,
        3641
      ],
      "op": "ADD",
      "path": "75"
    },
    "4134": {
      "fn": "ComponentController.approve",
      "offset": [
        3597,
        3641
      ],
      "op": "AND",
      "path": "75"
    },
    "4135": {
      "fn": "ComponentController.approve",
      "offset": [
        3597,
        3641
      ],
      "op": "DUP3",
      "path": "75"
    },
    "4136": {
      "fn": "ComponentController.approve",
      "offset": [
        3597,
        3641
      ],
      "op": "ADD",
      "path": "75"
    },
    "4137": {
      "fn": "ComponentController.approve",
      "offset": [
        3597,
        3641
      ],
      "op": "DUP1",
      "path": "75"
    },
    "4138": {
      "fn": "ComponentController.approve",
      "offset": [
        3597,
        3641
      ],
      "op": "PUSH1",
      "path": "75",
      "value": "0x40"
    },
    "4140": {
      "fn": "ComponentController.approve",
      "offset": [
        3597,
        3641
      ],
      "op": "MSTORE",
      "path": "75"
    },
    "4141": {
      "fn": "ComponentController.approve",
      "offset": [
        3597,
        3641
      ],
      "op": "POP",
      "path": "75"
    },
    "4142": {
      "fn": "ComponentController.approve",
      "offset": [
        3597,
        3641
      ],
      "op": "DUP2",
      "path": "75"
    },
    "4143": {
      "fn": "ComponentController.approve",
      "offset": [
        3597,
        3641
      ],
      "op": "ADD",
      "path": "75"
    },
    "4144": {
      "fn": "ComponentController.approve",
      "offset": [
        3597,
        3641
      ],
      "op": "SWAP1",
      "path": "75"
    },
    "4145": {
      "fn": "ComponentController.approve",
      "offset": [
        3597,
        3641
      ],
      "op": "PUSH2",
      "path": "75",
      "value": "0x103A"
    },
    "4148": {
      "fn": "ComponentController.approve",
      "offset": [
        3597,
        3641
      ],
      "op": "SWAP2",
      "path": "75"
    },
    "4149": {
      "fn": "ComponentController.approve",
      "offset": [
        3597,
        3641
      ],
      "op": "SWAP1",
      "path": "75"
    },
    "4150": {
      "fn": "ComponentController.approve",
      "offset": [
        3597,
        3641
      ],
      "op": "PUSH2",
      "path": "75",
      "value": "0x1F91"
    },
    "4153": {
      "fn": "ComponentController.approve",
      "jump": "i",
      "offset": [
        3597,
        3641
      ],
      "op": "JUMP",
      "path": "75"
    },
    "4154": {
      "fn": "ComponentController.approve",
      "offset": [
        3597,
        3641
      ],
      "op": "JUMPDEST",
      "path": "75"
    },
    "4155": {
      "fn": "ComponentController.approve",
      "offset": [
        3568,
        3594
      ],
      "op": "PUSH1",
      "path": "75",
      "value": "0x0"
    },
    "4157": {
      "fn": "ComponentController.approve",
      "offset": [
        3568,
        3594
      ],
      "op": "DUP4",
      "path": "75"
    },
    "4158": {
      "fn": "ComponentController.approve",
      "offset": [
        3568,
        3594
      ],
      "op": "DUP2",
      "path": "75"
    },
    "4159": {
      "fn": "ComponentController.approve",
      "offset": [
        3568,
        3594
      ],
      "op": "MSTORE",
      "path": "75"
    },
    "4160": {
      "fn": "ComponentController.approve",
      "offset": [
        3568,
        3590
      ],
      "op": "PUSH1",
      "path": "75",
      "value": "0xD"
    },
    "4162": {
      "fn": "ComponentController.approve",
      "offset": [
        3568,
        3594
      ],
      "op": "PUSH1",
      "path": "75",
      "value": "0x20"
    },
    "4164": {
      "fn": "ComponentController.approve",
      "offset": [
        3568,
        3594
      ],
      "op": "MSTORE",
      "path": "75"
    },
    "4165": {
      "fn": "ComponentController.approve",
      "offset": [
        3568,
        3594
      ],
      "op": "PUSH1",
      "path": "75",
      "value": "0x40"
    },
    "4167": {
      "fn": "ComponentController.approve",
      "offset": [
        3568,
        3594
      ],
      "op": "SWAP1",
      "path": "75"
    },
    "4168": {
      "fn": "ComponentController.approve",
      "offset": [
        3568,
        3594
      ],
      "op": "KECCAK256",
      "path": "75"
    },
    "4169": {
      "fn": "ComponentController.approve",
      "offset": [
        3568,
        3641
      ],
      "op": "DUP1",
      "path": "75"
    },
    "4170": {
      "fn": "ComponentController.approve",
      "offset": [
        3568,
        3641
      ],
      "op": "SLOAD",
      "path": "75"
    },
    "4171": {
      "op": "PUSH1",
      "value": "0x1"
    },
    "4173": {
      "op": "PUSH1",
      "value": "0x1"
    },
    "4175": {
      "op": "PUSH1",
      "value": "0xA0"
    },
    "4177": {
      "op": "SHL"
    },
    "4178": {
      "op": "SUB"
    },
    "4179": {
      "op": "NOT"
    },
    "4180": {
      "fn": "ComponentController.approve",
      "offset": [
        3568,
        3641
      ],
      "op": "AND",
      "path": "75"
    },
    "4181": {
      "op": "PUSH1",
      "value": "0x1"
    },
    "4183": {
      "op": "PUSH1",
      "value": "0x1"
    },
    "4185": {
      "op": "PUSH1",
      "value": "0xA0"
    },
    "4187": {
      "op": "SHL"
    },
    "4188": {
      "op": "SUB"
    },
    "4189": {
      "fn": "ComponentController.approve",
      "offset": [
        3568,
        3641
      ],
      "op": "SWAP3",
      "path": "75"
    },
    "4190": {
      "fn": "ComponentController.approve",
      "offset": [
        3568,
        3641
      ],
      "op": "SWAP1",
      "path": "75"
    },
    "4191": {
      "fn": "ComponentController.approve",
      "offset": [
        3568,
        3641
      ],
      "op": "SWAP3",
      "path": "75"
    },
    "4192": {
      "fn": "ComponentController.approve",
      "offset": [
        3568,
        3641
      ],
      "op": "AND",
      "path": "75"
    },
    "4193": {
      "fn": "ComponentController.approve",
      "offset": [
        3568,
        3641
      ],
      "op": "SWAP2",
      "path": "75"
    },
    "4194": {
      "fn": "ComponentController.approve",
      "offset": [
        3568,
        3641
      ],
      "op": "SWAP1",
      "path": "75"
    },
    "4195": {
      "fn": "ComponentController.approve",
      "offset": [
        3568,
        3641
      ],
      "op": "SWAP2",
      "path": "75"
    },
    "4196": {
      "fn": "ComponentController.approve",
      "offset": [
        3568,
        3641
      ],
      "op": "OR",
      "path": "75"
    },
    "4197": {
      "fn": "ComponentController.approve",
      "offset": [
        3568,
        3641
      ],
      "op": "SWAP1",
      "path": "75"
    },
    "4198": {
      "fn": "ComponentController.approve",
      "offset": [
        3568,
        3641
      ],
      "op": "SSTORE",
      "path": "75"
    },
    "4199": {
      "fn": "ComponentController.approve",
      "offset": [
        3535,
        3652
      ],
      "op": "JUMPDEST",
      "path": "75"
    },
    "4200": {
      "fn": "ComponentController.approve",
      "offset": [
        3667,
        3691
      ],
      "op": "PUSH1",
      "path": "75",
      "statement": 40,
      "value": "0x40"
    },
    "4202": {
      "fn": "ComponentController.approve",
      "offset": [
        3667,
        3691
      ],
      "op": "MLOAD",
      "path": "75"
    },
    "4203": {
      "op": "DUP3"
    },
    "4204": {
      "op": "DUP2"
    },
    "4205": {
      "op": "MSTORE"
    },
    "4206": {
      "fn": "ComponentController.approve",
      "offset": [
        3667,
        3691
      ],
      "op": "PUSH32",
      "path": "75",
      "value": "0xF8D33755281AA5D41B12A70AE3947EE164EF541D786400D733B0B89DF719859E"
    },
    "4239": {
      "fn": "ComponentController.approve",
      "offset": [
        3667,
        3691
      ],
      "op": "SWAP1",
      "path": "75"
    },
    "4240": {
      "op": "PUSH1",
      "value": "0x20"
    },
    "4242": {
      "op": "ADD"
    },
    "4243": {
      "fn": "ComponentController.approve",
      "offset": [
        3667,
        3691
      ],
      "op": "PUSH1",
      "path": "75",
      "value": "0x40"
    },
    "4245": {
      "fn": "ComponentController.approve",
      "offset": [
        3667,
        3691
      ],
      "op": "MLOAD",
      "path": "75"
    },
    "4246": {
      "fn": "ComponentController.approve",
      "offset": [
        3667,
        3691
      ],
      "op": "DUP1",
      "path": "75"
    },
    "4247": {
      "fn": "ComponentController.approve",
      "offset": [
        3667,
        3691
      ],
      "op": "SWAP2",
      "path": "75"
    },
    "4248": {
      "fn": "ComponentController.approve",
      "offset": [
        3667,
        3691
      ],
      "op": "SUB",
      "path": "75"
    },
    "4249": {
      "fn": "ComponentController.approve",
      "offset": [
        3667,
        3691
      ],
      "op": "SWAP1",
      "path": "75"
    },
    "4250": {
      "fn": "ComponentController.approve",
      "offset": [
        3667,
        3691
      ],
      "op": "LOG1",
      "path": "75"
    },
    "4251": {
      "fn": "ComponentController.approve",
      "offset": [
        3764,
        3773
      ],
      "op": "DUP1",
      "path": "75",
      "statement": 41
    },
    "4252": {
      "op": "PUSH1",
      "value": "0x1"
    },
    "4254": {
      "op": "PUSH1",
      "value": "0x1"
    },
    "4256": {
      "op": "PUSH1",
      "value": "0xA0"
    },
    "4258": {
      "op": "SHL"
    },
    "4259": {
      "op": "SUB"
    },
    "4260": {
      "fn": "ComponentController.approve",
      "offset": [
        3764,
        3790
      ],
      "op": "AND",
      "path": "75"
    },
    "4261": {
      "fn": "ComponentController.approve",
      "offset": [
        3764,
        3790
      ],
      "op": "PUSH4",
      "path": "75",
      "value": "0x1B867C63"
    },
    "4266": {
      "fn": "ComponentController.approve",
      "offset": [
        3764,
        3792
      ],
      "op": "PUSH1",
      "path": "75",
      "value": "0x40"
    },
    "4268": {
      "fn": "ComponentController.approve",
      "offset": [
        3764,
        3792
      ],
      "op": "MLOAD",
      "path": "75"
    },
    "4269": {
      "fn": "ComponentController.approve",
      "offset": [
        3764,
        3792
      ],
      "op": "DUP2",
      "path": "75"
    },
    "4270": {
      "fn": "ComponentController.approve",
      "offset": [
        3764,
        3792
      ],
      "op": "PUSH4",
      "path": "75",
      "value": "0xFFFFFFFF"
    },
    "4275": {
      "fn": "ComponentController.approve",
      "offset": [
        3764,
        3792
      ],
      "op": "AND",
      "path": "75"
    },
    "4276": {
      "fn": "ComponentController.approve",
      "offset": [
        3764,
        3792
      ],
      "op": "PUSH1",
      "path": "75",
      "value": "0xE0"
    },
    "4278": {
      "fn": "ComponentController.approve",
      "offset": [
        3764,
        3792
      ],
      "op": "SHL",
      "path": "75"
    },
    "4279": {
      "fn": "ComponentController.approve",
      "offset": [
        3764,
        3792
      ],
      "op": "DUP2",
      "path": "75"
    },
    "4280": {
      "fn": "ComponentController.approve",
      "offset": [
        3764,
        3792
      ],
      "op": "MSTORE",
      "path": "75"
    },
    "4281": {
      "fn": "ComponentController.approve",
      "offset": [
        3764,
        3792
      ],
      "op": "PUSH1",
      "path": "75",
      "value": "0x4"
    },
    "4283": {
      "fn": "ComponentController.approve",
      "offset": [
        3764,
        3792
      ],
      "op": "ADD",
      "path": "75"
    },
    "4284": {
      "fn": "ComponentController.approve",
      "offset": [
        3764,
        3792
      ],
      "op": "PUSH1",
      "path": "75",
      "value": "0x0"
    },
    "4286": {
      "fn": "ComponentController.approve",
      "offset": [
        3764,
        3792
      ],
      "op": "PUSH1",
      "path": "75",
      "value": "0x40"
    },
    "4288": {
      "fn": "ComponentController.approve",
      "offset": [
        3764,
        3792
      ],
      "op": "MLOAD",
      "path": "75"
    },
    "4289": {
      "fn": "ComponentController.approve",
      "offset": [
        3764,
        3792
      ],
      "op": "DUP1",
      "path": "75"
    },
    "4290": {
      "fn": "ComponentController.approve",
      "offset": [
        3764,
        3792
      ],
      "op": "DUP4",
      "path": "75"
    },
    "4291": {
      "fn": "ComponentController.approve",
      "offset": [
        3764,
        3792
      ],
      "op": "SUB",
      "path": "75"
    },
    "4292": {
      "fn": "ComponentController.approve",
      "offset": [
        3764,
        3792
      ],
      "op": "DUP2",
      "path": "75"
    },
    "4293": {
      "fn": "ComponentController.approve",
      "offset": [
        3764,
        3792
      ],
      "op": "PUSH1",
      "path": "75",
      "value": "0x0"
    },
    "4295": {
      "fn": "ComponentController.approve",
      "offset": [
        3764,
        3792
      ],
      "op": "DUP8",
      "path": "75"
    },
    "4296": {
      "fn": "ComponentController.approve",
      "offset": [
        3764,
        3792
      ],
      "op": "DUP1",
      "path": "75"
    },
    "4297": {
      "fn": "ComponentController.approve",
      "offset": [
        3764,
        3792
      ],
      "op": "EXTCODESIZE",
      "path": "75"
    },
    "4298": {
      "fn": "ComponentController.approve",
      "offset": [
        3764,
        3792
      ],
      "op": "ISZERO",
      "path": "75"
    },
    "4299": {
      "fn": "ComponentController.approve",
      "offset": [
        3764,
        3792
      ],
      "op": "DUP1",
      "path": "75"
    },
    "4300": {
      "fn": "ComponentController.approve",
      "offset": [
        3764,
        3792
      ],
      "op": "ISZERO",
      "path": "75"
    },
    "4301": {
      "fn": "ComponentController.approve",
      "offset": [
        3764,
        3792
      ],
      "op": "PUSH2",
      "path": "75",
      "value": "0x71D"
    },
    "4304": {
      "fn": "ComponentController.approve",
      "offset": [
        3764,
        3792
      ],
      "op": "JUMPI",
      "path": "75"
    },
    "4305": {
      "fn": "ComponentController.approve",
      "offset": [
        3764,
        3792
      ],
      "op": "PUSH1",
      "path": "75",
      "value": "0x0"
    },
    "4307": {
      "fn": "ComponentController.approve",
      "offset": [
        3764,
        3792
      ],
      "op": "DUP1",
      "path": "75"
    },
    "4308": {
      "fn": "ComponentController.approve",
      "offset": [
        3764,
        3792
      ],
      "op": "REVERT",
      "path": "75"
    },
    "4309": {
      "fn": "ComponentController.isRiskpool",
      "offset": [
        8954,
        9063
      ],
      "op": "JUMPDEST",
      "path": "75"
    },
    "4310": {
      "fn": "ComponentController.isRiskpool",
      "offset": [
        9007,
        9011
      ],
      "op": "PUSH1",
      "path": "75",
      "value": "0x0"
    },
    "4312": {
      "fn": "ComponentController.isRiskpool",
      "offset": [
        9022,
        9060
      ],
      "op": "PUSH2",
      "path": "75",
      "statement": 42,
      "value": "0x746"
    },
    "4315": {
      "fn": "ComponentController.isRiskpool",
      "offset": [
        9045,
        9055
      ],
      "op": "PUSH1",
      "path": "75",
      "value": "0xA"
    },
    "4317": {
      "fn": "ComponentController.isRiskpool",
      "offset": [
        9057,
        9059
      ],
      "op": "DUP4",
      "path": "75"
    },
    "4318": {
      "fn": "ComponentController.isRiskpool",
      "offset": [
        9022,
        9044
      ],
      "op": "PUSH2",
      "path": "75",
      "value": "0x1830"
    },
    "4321": {
      "fn": "ComponentController.isRiskpool",
      "jump": "i",
      "offset": [
        9022,
        9060
      ],
      "op": "JUMP",
      "path": "75"
    },
    "4322": {
      "fn": "CoreController.initialize",
      "offset": [
        1143,
        1375
      ],
      "op": "JUMPDEST",
      "path": "88"
    },
    "4323": {
      "offset": [
        3100,
        3119
      ],
      "op": "PUSH1",
      "path": "10",
      "value": "0x0"
    },
    "4325": {
      "offset": [
        3123,
        3136
      ],
      "op": "SLOAD",
      "path": "10"
    },
    "4326": {
      "fn": "CoreController.initialize",
      "offset": [
        3123,
        3136
      ],
      "op": "PUSH2",
      "path": "10",
      "value": "0x100"
    },
    "4329": {
      "fn": "CoreController.initialize",
      "offset": [
        3123,
        3136
      ],
      "op": "SWAP1",
      "path": "10"
    },
    "4330": {
      "fn": "CoreController.initialize",
      "offset": [
        3123,
        3136
      ],
      "op": "DIV",
      "path": "10"
    },
    "4331": {
      "fn": "CoreController.initialize",
      "offset": [
        3123,
        3136
      ],
      "op": "PUSH1",
      "path": "10",
      "value": "0xFF"
    },
    "4333": {
      "fn": "CoreController.initialize",
      "offset": [
        3123,
        3136
      ],
      "op": "AND",
      "path": "10"
    },
    "4334": {
      "offset": [
        3122,
        3136
      ],
      "op": "ISZERO",
      "path": "10"
    },
    "4335": {
      "fn": "CoreController.initialize",
      "offset": [
        3122,
        3136
      ],
      "op": "DUP1",
      "path": "10"
    },
    "4336": {
      "offset": [
        3168,
        3202
      ],
      "op": "DUP1",
      "path": "10"
    },
    "4337": {
      "fn": "CoreController.initialize",
      "offset": [
        3168,
        3202
      ],
      "op": "ISZERO",
      "path": "10"
    },
    "4338": {
      "fn": "CoreController.initialize",
      "offset": [
        3168,
        3202
      ],
      "op": "PUSH2",
      "path": "10",
      "value": "0x1102"
    },
    "4341": {
      "fn": "CoreController.initialize",
      "offset": [
        3168,
        3202
      ],
      "op": "JUMPI",
      "path": "10"
    },
    "4342": {
      "op": "POP"
    },
    "4343": {
      "offset": [
        3186,
        3198
      ],
      "op": "PUSH1",
      "path": "10",
      "value": "0x0"
    },
    "4345": {
      "fn": "CoreController.initialize",
      "offset": [
        3186,
        3198
      ],
      "op": "SLOAD",
      "path": "10"
    },
    "4346": {
      "offset": [
        3201,
        3202
      ],
      "op": "PUSH1",
      "path": "10",
      "value": "0x1"
    },
    "4348": {
      "offset": [
        3186,
        3198
      ],
      "op": "PUSH1",
      "path": "10",
      "value": "0xFF"
    },
    "4350": {
      "fn": "CoreController.initialize",
      "offset": [
        3186,
        3198
      ],
      "op": "SWAP1",
      "path": "10"
    },
    "4351": {
      "fn": "CoreController.initialize",
      "offset": [
        3186,
        3198
      ],
      "op": "SWAP2",
      "path": "10"
    },
    "4352": {
      "fn": "CoreController.initialize",
      "offset": [
        3186,
        3198
      ],
      "op": "AND",
      "path": "10"
    },
    "4353": {
      "offset": [
        3186,
        3202
      ],
      "op": "LT",
      "path": "10"
    },
    "4354": {
      "offset": [
        3168,
        3202
      ],
      "op": "JUMPDEST",
      "path": "10"
    },
    "4355": {
      "offset": [
        3167,
        3264
      ],
      "op": "DUP1",
      "path": "10"
    },
    "4356": {
      "fn": "CoreController.initialize",
      "offset": [
        3167,
        3264
      ],
      "op": "PUSH2",
      "path": "10",
      "value": "0x111C"
    },
    "4359": {
      "offset": [
        3167,
        3264
      ],
      "op": "JUMPI",
      "path": "10"
    },
    "4360": {
      "op": "POP"
    },
    "4361": {
      "offset": [
        3236,
        3240
      ],
      "op": "ADDRESS",
      "path": "10"
    },
    "4362": {
      "fn": "Address.isContract",
      "offset": [
        1465,
        1484
      ],
      "op": "EXTCODESIZE",
      "path": "21",
      "statement": 43
    },
    "4363": {
      "fn": "Address.isContract",
      "offset": [
        1465,
        1488
      ],
      "op": "ISZERO",
      "path": "21"
    },
    "4364": {
      "fn": "Address.isContract",
      "offset": [
        1465,
        1488
      ],
      "op": "DUP1",
      "path": "21"
    },
    "4365": {
      "fn": "Address.isContract",
      "offset": [
        1465,
        1488
      ],
      "op": "ISZERO",
      "path": "21"
    },
    "4366": {
      "offset": [
        3208,
        3263
      ],
      "op": "PUSH2",
      "path": "10",
      "value": "0x111C"
    },
    "4369": {
      "fn": "Address.isContract",
      "offset": [
        3208,
        3263
      ],
      "op": "JUMPI",
      "path": "10"
    },
    "4370": {
      "op": "POP"
    },
    "4371": {
      "offset": [
        3246,
        3258
      ],
      "op": "PUSH1",
      "path": "10",
      "value": "0x0"
    },
    "4373": {
      "fn": "Address.isContract",
      "offset": [
        3246,
        3258
      ],
      "op": "SLOAD",
      "path": "10"
    },
    "4374": {
      "fn": "Address.isContract",
      "offset": [
        3246,
        3258
      ],
      "op": "PUSH1",
      "path": "10",
      "value": "0xFF"
    },
    "4376": {
      "fn": "Address.isContract",
      "offset": [
        3246,
        3258
      ],
      "op": "AND",
      "path": "10"
    },
    "4377": {
      "fn": "Address.isContract",
      "offset": [
        3246,
        3258
      ],
      "op": "PUSH1",
      "path": "10",
      "value": "0x1"
    },
    "4379": {
      "offset": [
        3246,
        3263
      ],
      "op": "EQ",
      "path": "10"
    },
    "4380": {
      "offset": [
        3208,
        3263
      ],
      "op": "JUMPDEST",
      "path": "10"
    },
    "4381": {
      "offset": [
        3146,
        3336
      ],
      "op": "PUSH2",
      "path": "10",
      "value": "0x117F"
    },
    "4384": {
      "offset": [
        3146,
        3336
      ],
      "op": "JUMPI",
      "path": "10"
    },
    "4385": {
      "fn": "Address.isContract",
      "offset": [
        3146,
        3336
      ],
      "op": "PUSH1",
      "path": "10",
      "value": "0x40"
    },
    "4387": {
      "fn": "Address.isContract",
      "offset": [
        3146,
        3336
      ],
      "op": "MLOAD",
      "path": "10"
    },
    "4388": {
      "op": "PUSH3",
      "value": "0x461BCD"
    },
    "4392": {
      "op": "PUSH1",
      "value": "0xE5"
    },
    "4394": {
      "op": "SHL"
    },
    "4395": {
      "offset": [
        3146,
        3336
      ],
      "op": "DUP2",
      "path": "10"
    },
    "4396": {
      "fn": "Address.isContract",
      "offset": [
        3146,
        3336
      ],
      "op": "MSTORE",
      "path": "10"
    },
    "4397": {
      "op": "PUSH1",
      "value": "0x20"
    },
    "4399": {
      "offset": [
        3146,
        3336
      ],
      "op": "PUSH1",
      "path": "10",
      "value": "0x4"
    },
    "4401": {
      "fn": "Address.isContract",
      "offset": [
        3146,
        3336
      ],
      "op": "DUP3",
      "path": "10"
    },
    "4402": {
      "fn": "Address.isContract",
      "offset": [
        3146,
        3336
      ],
      "op": "ADD",
      "path": "10"
    },
    "4403": {
      "op": "MSTORE"
    },
    "4404": {
      "op": "PUSH1",
      "value": "0x2E"
    },
    "4406": {
      "op": "PUSH1",
      "value": "0x24"
    },
    "4408": {
      "op": "DUP3"
    },
    "4409": {
      "op": "ADD"
    },
    "4410": {
      "op": "MSTORE"
    },
    "4411": {
      "op": "PUSH32",
      "value": "0x496E697469616C697A61626C653A20636F6E747261637420697320616C726561"
    },
    "4444": {
      "op": "PUSH1",
      "value": "0x44"
    },
    "4446": {
      "op": "DUP3"
    },
    "4447": {
      "op": "ADD"
    },
    "4448": {
      "op": "MSTORE"
    },
    "4449": {
      "op": "PUSH14",
      "value": "0x191E481A5B9A5D1A585B1A5E9959"
    },
    "4464": {
      "op": "PUSH1",
      "value": "0x92"
    },
    "4466": {
      "op": "SHL"
    },
    "4467": {
      "op": "PUSH1",
      "value": "0x64"
    },
    "4469": {
      "op": "DUP3"
    },
    "4470": {
      "op": "ADD"
    },
    "4471": {
      "op": "MSTORE"
    },
    "4472": {
      "op": "PUSH1",
      "value": "0x84"
    },
    "4474": {
      "op": "ADD"
    },
    "4475": {
      "offset": [
        3146,
        3336
      ],
      "op": "PUSH2",
      "path": "10",
      "value": "0x453"
    },
    "4478": {
      "op": "JUMP"
    },
    "4479": {
      "offset": [
        3146,
        3336
      ],
      "op": "JUMPDEST",
      "path": "10"
    },
    "4480": {
      "offset": [
        3346,
        3358
      ],
      "op": "PUSH1",
      "path": "10",
      "value": "0x0"
    },
    "4482": {
      "offset": [
        3346,
        3362
      ],
      "op": "DUP1",
      "path": "10"
    },
    "4483": {
      "fn": "Address.isContract",
      "offset": [
        3346,
        3362
      ],
      "op": "SLOAD",
      "path": "10"
    },
    "4484": {
      "op": "PUSH1",
      "value": "0xFF"
    },
    "4486": {
      "op": "NOT"
    },
    "4487": {
      "offset": [
        3346,
        3362
      ],
      "op": "AND",
      "path": "10"
    },
    "4488": {
      "offset": [
        3361,
        3362
      ],
      "op": "PUSH1",
      "path": "10",
      "value": "0x1"
    },
    "4490": {
      "offset": [
        3346,
        3362
      ],
      "op": "OR",
      "path": "10"
    },
    "4491": {
      "fn": "Address.isContract",
      "offset": [
        3346,
        3362
      ],
      "op": "SWAP1",
      "path": "10"
    },
    "4492": {
      "fn": "Address.isContract",
      "offset": [
        3346,
        3362
      ],
      "op": "SSTORE",
      "path": "10"
    },
    "4493": {
      "offset": [
        3372,
        3437
      ],
      "op": "DUP1",
      "path": "10"
    },
    "4494": {
      "fn": "Address.isContract",
      "offset": [
        3372,
        3437
      ],
      "op": "ISZERO",
      "path": "10"
    },
    "4495": {
      "fn": "Address.isContract",
      "offset": [
        3372,
        3437
      ],
      "op": "PUSH2",
      "path": "10",
      "value": "0x11A2"
    },
    "4498": {
      "fn": "Address.isContract",
      "offset": [
        3372,
        3437
      ],
      "op": "JUMPI",
      "path": "10"
    },
    "4499": {
      "offset": [
        3406,
        3419
      ],
      "op": "PUSH1",
      "path": "10",
      "value": "0x0"
    },
    "4501": {
      "offset": [
        3406,
        3426
      ],
      "op": "DUP1",
      "path": "10"
    },
    "4502": {
      "fn": "Address.isContract",
      "offset": [
        3406,
        3426
      ],
      "op": "SLOAD",
      "path": "10"
    },
    "4503": {
      "op": "PUSH2",
      "value": "0xFF00"
    },
    "4506": {
      "op": "NOT"
    },
    "4507": {
      "offset": [
        3406,
        3426
      ],
      "op": "AND",
      "path": "10"
    },
    "4508": {
      "fn": "Address.isContract",
      "offset": [
        3406,
        3426
      ],
      "op": "PUSH2",
      "path": "10",
      "value": "0x100"
    },
    "4511": {
      "fn": "Address.isContract",
      "offset": [
        3406,
        3426
      ],
      "op": "OR",
      "path": "10"
    },
    "4512": {
      "fn": "Address.isContract",
      "offset": [
        3406,
        3426
      ],
      "op": "SWAP1",
      "path": "10"
    },
    "4513": {
      "fn": "Address.isContract",
      "offset": [
        3406,
        3426
      ],
      "op": "SSTORE",
      "path": "10"
    },
    "4514": {
      "offset": [
        3372,
        3437
      ],
      "op": "JUMPDEST",
      "path": "10"
    },
    "4515": {
      "fn": "CoreController.initialize",
      "offset": [
        1210,
        1219
      ],
      "op": "PUSH1",
      "path": "88",
      "statement": 44,
      "value": "0x0"
    },
    "4517": {
      "fn": "CoreController.initialize",
      "offset": [
        1210,
        1241
      ],
      "op": "DUP1",
      "path": "88"
    },
    "4518": {
      "fn": "CoreController.initialize",
      "offset": [
        1210,
        1241
      ],
      "op": "SLOAD",
      "path": "88"
    },
    "4519": {
      "op": "PUSH3",
      "value": "0x10000"
    },
    "4523": {
      "op": "PUSH1",
      "value": "0x1"
    },
    "4525": {
      "op": "PUSH1",
      "value": "0xB0"
    },
    "4527": {
      "op": "SHL"
    },
    "4528": {
      "op": "SUB"
    },
    "4529": {
      "op": "NOT"
    },
    "4530": {
      "fn": "CoreController.initialize",
      "offset": [
        1210,
        1241
      ],
      "op": "AND",
      "path": "88"
    },
    "4531": {
      "fn": "CoreController.initialize",
      "offset": [
        1210,
        1241
      ],
      "op": "PUSH3",
      "path": "88",
      "value": "0x10000"
    },
    "4535": {
      "op": "PUSH1",
      "value": "0x1"
    },
    "4537": {
      "op": "PUSH1",
      "value": "0x1"
    },
    "4539": {
      "op": "PUSH1",
      "value": "0xA0"
    },
    "4541": {
      "op": "SHL"
    },
    "4542": {
      "op": "SUB"
    },
    "4543": {
      "fn": "CoreController.initialize",
      "offset": [
        1210,
        1241
      ],
      "op": "DUP6",
      "path": "88"
    },
    "4544": {
      "fn": "CoreController.initialize",
      "offset": [
        1210,
        1241
      ],
      "op": "AND",
      "path": "88"
    },
    "4545": {
      "fn": "CoreController.initialize",
      "offset": [
        1210,
        1241
      ],
      "op": "MUL",
      "path": "88"
    },
    "4546": {
      "fn": "CoreController.initialize",
      "offset": [
        1210,
        1241
      ],
      "op": "OR",
      "path": "88"
    },
    "4547": {
      "fn": "CoreController.initialize",
      "offset": [
        1210,
        1241
      ],
      "op": "SWAP1",
      "path": "88"
    },
    "4548": {
      "fn": "CoreController.initialize",
      "offset": [
        1210,
        1241
      ],
      "op": "SSTORE",
      "path": "88"
    },
    "4549": {
      "fn": "CoreController.initialize",
      "offset": [
        1255,
        1265
      ],
      "op": "PUSH2",
      "path": "88",
      "value": "0x11CC"
    },
    "4552": {
      "fn": "CoreController._getName",
      "offset": [
        1431,
        1438
      ],
      "op": "PUSH1",
      "path": "88",
      "value": "0x0"
    },
    "4554": {
      "fn": "CoreController._getName",
      "offset": [
        1381,
        1454
      ],
      "op": "SWAP1",
      "path": "88"
    },
    "4555": {
      "fn": "CoreController._getName",
      "offset": [
        1381,
        1454
      ],
      "op": "JUMP",
      "path": "88"
    },
    "4556": {
      "fn": "CoreController.initialize",
      "offset": [
        1255,
        1265
      ],
      "op": "JUMPDEST",
      "path": "88"
    },
    "4557": {
      "op": "PUSH6",
      "value": "0x416363657373"
    },
    "4564": {
      "op": "PUSH1",
      "value": "0xD0"
    },
    "4566": {
      "op": "SHL"
    },
    "4567": {
      "branch": 126,
      "fn": "CoreController.initialize",
      "offset": [
        1255,
        1277
      ],
      "op": "EQ",
      "path": "88"
    },
    "4568": {
      "fn": "CoreController.initialize",
      "offset": [
        1251,
        1332
      ],
      "op": "PUSH2",
      "path": "88",
      "value": "0x120E"
    },
    "4571": {
      "branch": 126,
      "fn": "CoreController.initialize",
      "offset": [
        1251,
        1332
      ],
      "op": "JUMPI",
      "path": "88"
    },
    "4572": {
      "fn": "CoreController.initialize",
      "offset": [
        1299,
        1328
      ],
      "op": "PUSH2",
      "path": "88",
      "statement": 45,
      "value": "0x11ED"
    },
    "4575": {
      "op": "PUSH6",
      "value": "0x416363657373"
    },
    "4582": {
      "op": "PUSH1",
      "value": "0xD0"
    },
    "4584": {
      "op": "SHL"
    },
    "4585": {
      "fn": "CoreController.initialize",
      "offset": [
        1299,
        1318
      ],
      "op": "PUSH2",
      "path": "88",
      "value": "0x1460"
    },
    "4588": {
      "fn": "CoreController.initialize",
      "jump": "i",
      "offset": [
        1299,
        1328
      ],
      "op": "JUMP",
      "path": "88"
    },
    "4589": {
      "fn": "CoreController.initialize",
      "offset": [
        1299,
        1328
      ],
      "op": "JUMPDEST",
      "path": "88"
    },
    "4590": {
      "fn": "CoreController.initialize",
      "offset": [
        1281,
        1288
      ],
      "op": "PUSH1",
      "path": "88",
      "value": "0x1"
    },
    "4592": {
      "fn": "CoreController.initialize",
      "offset": [
        1281,
        1329
      ],
      "op": "DUP1",
      "path": "88"
    },
    "4593": {
      "fn": "CoreController.initialize",
      "offset": [
        1281,
        1329
      ],
      "op": "SLOAD",
      "path": "88"
    },
    "4594": {
      "op": "PUSH1",
      "value": "0x1"
    },
    "4596": {
      "op": "PUSH1",
      "value": "0x1"
    },
    "4598": {
      "op": "PUSH1",
      "value": "0xA0"
    },
    "4600": {
      "op": "SHL"
    },
    "4601": {
      "op": "SUB"
    },
    "4602": {
      "op": "NOT"
    },
    "4603": {
      "fn": "CoreController.initialize",
      "offset": [
        1281,
        1329
      ],
      "op": "AND",
      "path": "88"
    },
    "4604": {
      "op": "PUSH1",
      "value": "0x1"
    },
    "4606": {
      "op": "PUSH1",
      "value": "0x1"
    },
    "4608": {
      "op": "PUSH1",
      "value": "0xA0"
    },
    "4610": {
      "op": "SHL"
    },
    "4611": {
      "op": "SUB"
    },
    "4612": {
      "fn": "CoreController.initialize",
      "offset": [
        1281,
        1329
      ],
      "op": "SWAP3",
      "path": "88"
    },
    "4613": {
      "fn": "CoreController.initialize",
      "offset": [
        1281,
        1329
      ],
      "op": "SWAP1",
      "path": "88"
    },
    "4614": {
      "fn": "CoreController.initialize",
      "offset": [
        1281,
        1329
      ],
      "op": "SWAP3",
      "path": "88"
    },
    "4615": {
      "fn": "CoreController.initialize",
      "offset": [
        1281,
        1329
      ],
      "op": "AND",
      "path": "88"
    },
    "4616": {
      "fn": "CoreController.initialize",
      "offset": [
        1281,
        1329
      ],
      "op": "SWAP2",
      "path": "88"
    },
    "4617": {
      "fn": "CoreController.initialize",
      "offset": [
        1281,
        1329
      ],
      "op": "SWAP1",
      "path": "88"
    },
    "4618": {
      "fn": "CoreController.initialize",
      "offset": [
        1281,
        1329
      ],
      "op": "SWAP2",
      "path": "88"
    },
    "4619": {
      "fn": "CoreController.initialize",
      "offset": [
        1281,
        1329
      ],
      "op": "OR",
      "path": "88"
    },
    "4620": {
      "fn": "CoreController.initialize",
      "offset": [
        1281,
        1329
      ],
      "op": "SWAP1",
      "path": "88"
    },
    "4621": {
      "fn": "CoreController.initialize",
      "offset": [
        1281,
        1329
      ],
      "op": "SSTORE",
      "path": "88"
    },
    "4622": {
      "fn": "CoreController.initialize",
      "offset": [
        1251,
        1332
      ],
      "op": "JUMPDEST",
      "path": "88"
    },
    "4623": {
      "fn": "CoreController.initialize",
      "offset": [
        1350,
        1368
      ],
      "op": "PUSH2",
      "path": "88",
      "statement": 46,
      "value": "0x1216"
    },
    "4626": {
      "fn": "CoreController.initialize",
      "offset": [
        1350,
        1366
      ],
      "op": "PUSH2",
      "path": "88",
      "value": "0x18FD"
    },
    "4629": {
      "fn": "CoreController.initialize",
      "jump": "i",
      "offset": [
        1350,
        1368
      ],
      "op": "JUMP",
      "path": "88"
    },
    "4630": {
      "fn": "CoreController.initialize",
      "offset": [
        1350,
        1368
      ],
      "op": "JUMPDEST",
      "path": "88"
    },
    "4631": {
      "offset": [
        3461,
        3475
      ],
      "op": "DUP1",
      "path": "10"
    },
    "4632": {
      "offset": [
        3457,
        3556
      ],
      "op": "ISZERO",
      "path": "10"
    },
    "4633": {
      "fn": "CoreController.initialize",
      "offset": [
        3457,
        3556
      ],
      "op": "PUSH2",
      "path": "10",
      "value": "0x125C"
    },
    "4636": {
      "offset": [
        3457,
        3556
      ],
      "op": "JUMPI",
      "path": "10"
    },
    "4637": {
      "offset": [
        3507,
        3512
      ],
      "op": "PUSH1",
      "path": "10",
      "value": "0x0"
    },
    "4639": {
      "offset": [
        3491,
        3512
      ],
      "op": "DUP1",
      "path": "10"
    },
    "4640": {
      "fn": "CoreController.initialize",
      "offset": [
        3491,
        3512
      ],
      "op": "SLOAD",
      "path": "10"
    },
    "4641": {
      "op": "PUSH2",
      "value": "0xFF00"
    },
    "4644": {
      "op": "NOT"
    },
    "4645": {
      "offset": [
        3491,
        3512
      ],
      "op": "AND",
      "path": "10"
    },
    "4646": {
      "fn": "CoreController.initialize",
      "offset": [
        3491,
        3512
      ],
      "op": "SWAP1",
      "path": "10"
    },
    "4647": {
      "fn": "CoreController.initialize",
      "offset": [
        3491,
        3512
      ],
      "op": "SSTORE",
      "path": "10"
    },
    "4648": {
      "offset": [
        3531,
        3545
      ],
      "op": "PUSH1",
      "path": "10",
      "value": "0x40"
    },
    "4650": {
      "fn": "CoreController.initialize",
      "offset": [
        3531,
        3545
      ],
      "op": "MLOAD",
      "path": "10"
    },
    "4651": {
      "op": "PUSH1",
      "value": "0x1"
    },
    "4653": {
      "op": "DUP2"
    },
    "4654": {
      "op": "MSTORE"
    },
    "4655": {
      "offset": [
        3531,
        3545
      ],
      "op": "PUSH32",
      "path": "10",
      "value": "0x7F26B83FF96E1F2B6A682F133852F6798A09C465DA95921460CEFB3847402498"
    },
    "4688": {
      "fn": "CoreController.initialize",
      "offset": [
        3531,
        3545
      ],
      "op": "SWAP1",
      "path": "10"
    },
    "4689": {
      "op": "PUSH1",
      "value": "0x20"
    },
    "4691": {
      "op": "ADD"
    },
    "4692": {
      "offset": [
        3531,
        3545
      ],
      "op": "PUSH1",
      "path": "10",
      "value": "0x40"
    },
    "4694": {
      "fn": "CoreController.initialize",
      "offset": [
        3531,
        3545
      ],
      "op": "MLOAD",
      "path": "10"
    },
    "4695": {
      "fn": "CoreController.initialize",
      "offset": [
        3531,
        3545
      ],
      "op": "DUP1",
      "path": "10"
    },
    "4696": {
      "fn": "CoreController.initialize",
      "offset": [
        3531,
        3545
      ],
      "op": "SWAP2",
      "path": "10"
    },
    "4697": {
      "fn": "CoreController.initialize",
      "offset": [
        3531,
        3545
      ],
      "op": "SUB",
      "path": "10"
    },
    "4698": {
      "fn": "CoreController.initialize",
      "offset": [
        3531,
        3545
      ],
      "op": "SWAP1",
      "path": "10"
    },
    "4699": {
      "fn": "CoreController.initialize",
      "offset": [
        3531,
        3545
      ],
      "op": "LOG1",
      "path": "10"
    },
    "4700": {
      "offset": [
        3457,
        3556
      ],
      "op": "JUMPDEST",
      "path": "10"
    },
    "4701": {
      "fn": "CoreController.initialize",
      "offset": [
        1143,
        1375
      ],
      "op": "POP",
      "path": "88"
    },
    "4702": {
      "fn": "CoreController.initialize",
      "offset": [
        1143,
        1375
      ],
      "op": "POP",
      "path": "88"
    },
    "4703": {
      "fn": "CoreController.initialize",
      "jump": "o",
      "offset": [
        1143,
        1375
      ],
      "op": "JUMP",
      "path": "88"
    },
    "4704": {
      "fn": "ComponentController.products",
      "offset": [
        8417,
        8516
      ],
      "op": "JUMPDEST",
      "path": "75"
    },
    "4705": {
      "fn": "ComponentController.products",
      "offset": [
        8458,
        8471
      ],
      "op": "PUSH1",
      "path": "75",
      "value": "0x0"
    },
    "4707": {
      "fn": "ComponentController.products",
      "offset": [
        8482,
        8513
      ],
      "op": "PUSH2",
      "path": "75",
      "statement": 47,
      "value": "0x90A"
    },
    "4710": {
      "fn": "ComponentController.products",
      "offset": [
        8503,
        8512
      ],
      "op": "PUSH1",
      "path": "75",
      "value": "0x6"
    },
    "4712": {
      "fn": "ComponentController.products",
      "offset": [
        8482,
        8502
      ],
      "op": "PUSH2",
      "path": "75",
      "value": "0x18E7"
    },
    "4715": {
      "fn": "ComponentController.products",
      "jump": "i",
      "offset": [
        8482,
        8513
      ],
      "op": "JUMP",
      "path": "75"
    },
    "4716": {
      "fn": "ComponentController.getComponentType",
      "offset": [
        6732,
        7255
      ],
      "op": "JUMPDEST",
      "path": "75"
    },
    "4717": {
      "fn": "ComponentController.getComponentType",
      "offset": [
        6791,
        6829
      ],
      "op": "PUSH1",
      "path": "75",
      "value": "0x0"
    },
    "4719": {
      "fn": "ComponentController.getComponentType",
      "offset": [
        6845,
        6882
      ],
      "op": "PUSH2",
      "path": "75",
      "value": "0x1279"
    },
    "4722": {
      "fn": "ComponentController.getComponentType",
      "offset": [
        6868,
        6877
      ],
      "op": "PUSH1",
      "path": "75",
      "value": "0x6"
    },
    "4724": {
      "fn": "ComponentController.getComponentType",
      "offset": [
        6879,
        6881
      ],
      "op": "DUP4",
      "path": "75"
    },
    "4725": {
      "fn": "ComponentController.getComponentType",
      "offset": [
        6845,
        6867
      ],
      "op": "PUSH2",
      "path": "75",
      "value": "0x1830"
    },
    "4728": {
      "fn": "ComponentController.getComponentType",
      "jump": "i",
      "offset": [
        6845,
        6882
      ],
      "op": "JUMP",
      "path": "75"
    },
    "4729": {
      "branch": 102,
      "fn": "ComponentController.getComponentType",
      "offset": [
        6845,
        6882
      ],
      "op": "JUMPDEST",
      "path": "75"
    },
    "4730": {
      "fn": "ComponentController.getComponentType",
      "offset": [
        6841,
        7249
      ],
      "op": "ISZERO",
      "path": "75"
    },
    "4731": {
      "fn": "ComponentController.getComponentType",
      "offset": [
        6841,
        7249
      ],
      "op": "PUSH2",
      "path": "75",
      "value": "0x1286"
    },
    "4734": {
      "branch": 102,
      "fn": "ComponentController.getComponentType",
      "offset": [
        6841,
        7249
      ],
      "op": "JUMPI",
      "path": "75"
    },
    "4735": {
      "op": "POP"
    },
    "4736": {
      "fn": "ComponentController.getComponentType",
      "offset": [
        6905,
        6937
      ],
      "op": "PUSH1",
      "path": "75",
      "statement": 48,
      "value": "0x1"
    },
    "4738": {
      "fn": "ComponentController.getComponentType",
      "offset": [
        6898,
        6937
      ],
      "op": "PUSH2",
      "path": "75",
      "value": "0x749"
    },
    "4741": {
      "fn": "ComponentController.getComponentType",
      "offset": [
        6898,
        6937
      ],
      "op": "JUMP",
      "path": "75"
    },
    "4742": {
      "fn": "ComponentController.getComponentType",
      "offset": [
        6841,
        7249
      ],
      "op": "JUMPDEST",
      "path": "75"
    },
    "4743": {
      "fn": "ComponentController.getComponentType",
      "offset": [
        6958,
        6994
      ],
      "op": "PUSH2",
      "path": "75",
      "value": "0x1291"
    },
    "4746": {
      "fn": "ComponentController.getComponentType",
      "offset": [
        6981,
        6989
      ],
      "op": "PUSH1",
      "path": "75",
      "value": "0x8"
    },
    "4748": {
      "fn": "ComponentController.getComponentType",
      "offset": [
        6991,
        6993
      ],
      "op": "DUP4",
      "path": "75"
    },
    "4749": {
      "fn": "ComponentController.getComponentType",
      "offset": [
        6958,
        6980
      ],
      "op": "PUSH2",
      "path": "75",
      "value": "0x1830"
    },
    "4752": {
      "fn": "ComponentController.getComponentType",
      "jump": "i",
      "offset": [
        6958,
        6994
      ],
      "op": "JUMP",
      "path": "75"
    },
    "4753": {
      "branch": 103,
      "fn": "ComponentController.getComponentType",
      "offset": [
        6958,
        6994
      ],
      "op": "JUMPDEST",
      "path": "75"
    },
    "4754": {
      "fn": "ComponentController.getComponentType",
      "offset": [
        6954,
        7249
      ],
      "op": "ISZERO",
      "path": "75"
    },
    "4755": {
      "fn": "ComponentController.getComponentType",
      "offset": [
        6954,
        7249
      ],
      "op": "PUSH2",
      "path": "75",
      "value": "0x129E"
    },
    "4758": {
      "branch": 103,
      "fn": "ComponentController.getComponentType",
      "offset": [
        6954,
        7249
      ],
      "op": "JUMPI",
      "path": "75"
    },
    "4759": {
      "op": "POP"
    },
    "4760": {
      "fn": "ComponentController.getComponentType",
      "offset": [
        7017,
        7048
      ],
      "op": "PUSH1",
      "path": "75",
      "statement": 49,
      "value": "0x0"
    },
    "4762": {
      "fn": "ComponentController.getComponentType",
      "offset": [
        7010,
        7048
      ],
      "op": "PUSH2",
      "path": "75",
      "value": "0x749"
    },
    "4765": {
      "fn": "ComponentController.getComponentType",
      "offset": [
        7010,
        7048
      ],
      "op": "JUMP",
      "path": "75"
    },
    "4766": {
      "fn": "ComponentController.getComponentType",
      "offset": [
        6954,
        7249
      ],
      "op": "JUMPDEST",
      "path": "75"
    },
    "4767": {
      "fn": "ComponentController.getComponentType",
      "offset": [
        7069,
        7107
      ],
      "op": "PUSH2",
      "path": "75",
      "value": "0x12A9"
    },
    "4770": {
      "fn": "ComponentController.getComponentType",
      "offset": [
        7092,
        7102
      ],
      "op": "PUSH1",
      "path": "75",
      "value": "0xA"
    },
    "4772": {
      "fn": "ComponentController.getComponentType",
      "offset": [
        7104,
        7106
      ],
      "op": "DUP4",
      "path": "75"
    },
    "4773": {
      "fn": "ComponentController.getComponentType",
      "offset": [
        7069,
        7091
      ],
      "op": "PUSH2",
      "path": "75",
      "value": "0x1830"
    },
    "4776": {
      "fn": "ComponentController.getComponentType",
      "jump": "i",
      "offset": [
        7069,
        7107
      ],
      "op": "JUMP",
      "path": "75"
    },
    "4777": {
      "branch": 104,
      "fn": "ComponentController.getComponentType",
      "offset": [
        7069,
        7107
      ],
      "op": "JUMPDEST",
      "path": "75"
    },
    "4778": {
      "fn": "ComponentController.getComponentType",
      "offset": [
        7065,
        7249
      ],
      "op": "ISZERO",
      "path": "75"
    },
    "4779": {
      "fn": "ComponentController.getComponentType",
      "offset": [
        7065,
        7249
      ],
      "op": "PUSH2",
      "path": "75",
      "value": "0x12B6"
    },
    "4782": {
      "branch": 104,
      "fn": "ComponentController.getComponentType",
      "offset": [
        7065,
        7249
      ],
      "op": "JUMPI",
      "path": "75"
    },
    "4783": {
      "op": "POP"
    },
    "4784": {
      "fn": "ComponentController.getComponentType",
      "offset": [
        7130,
        7163
      ],
      "op": "PUSH1",
      "path": "75",
      "statement": 50,
      "value": "0x2"
    },
    "4786": {
      "fn": "ComponentController.getComponentType",
      "offset": [
        7123,
        7163
      ],
      "op": "PUSH2",
      "path": "75",
      "value": "0x749"
    },
    "4789": {
      "fn": "ComponentController.getComponentType",
      "offset": [
        7123,
        7163
      ],
      "op": "JUMP",
      "path": "75"
    },
    "4790": {
      "fn": "ComponentController.getComponentType",
      "offset": [
        7065,
        7249
      ],
      "op": "JUMPDEST",
      "path": "75"
    },
    "4791": {
      "fn": "ComponentController.getComponentType",
      "offset": [
        7194,
        7238
      ],
      "op": "PUSH1",
      "path": "75",
      "statement": 51,
      "value": "0x40"
    },
    "4793": {
      "fn": "ComponentController.getComponentType",
      "offset": [
        7194,
        7238
      ],
      "op": "MLOAD",
      "path": "75"
    },
    "4794": {
      "op": "PUSH3",
      "value": "0x461BCD"
    },
    "4798": {
      "op": "PUSH1",
      "value": "0xE5"
    },
    "4800": {
      "op": "SHL"
    },
    "4801": {
      "fn": "ComponentController.getComponentType",
      "offset": [
        7194,
        7238
      ],
      "op": "DUP2",
      "path": "75"
    },
    "4802": {
      "fn": "ComponentController.getComponentType",
      "offset": [
        7194,
        7238
      ],
      "op": "MSTORE",
      "path": "75"
    },
    "4803": {
      "op": "PUSH1",
      "value": "0x20"
    },
    "4805": {
      "fn": "ComponentController.getComponentType",
      "offset": [
        7194,
        7238
      ],
      "op": "PUSH1",
      "path": "75",
      "value": "0x4"
    },
    "4807": {
      "fn": "ComponentController.getComponentType",
      "offset": [
        7194,
        7238
      ],
      "op": "DUP3",
      "path": "75"
    },
    "4808": {
      "fn": "ComponentController.getComponentType",
      "offset": [
        7194,
        7238
      ],
      "op": "ADD",
      "path": "75"
    },
    "4809": {
      "op": "MSTORE"
    },
    "4810": {
      "op": "PUSH1",
      "value": "0x22"
    },
    "4812": {
      "op": "PUSH1",
      "value": "0x24"
    },
    "4814": {
      "op": "DUP3"
    },
    "4815": {
      "op": "ADD"
    },
    "4816": {
      "op": "MSTORE"
    },
    "4817": {
      "op": "PUSH32",
      "value": "0x4552524F523A4343522D3030383A494E56414C49445F434F4D504F4E454E545F"
    },
    "4850": {
      "op": "PUSH1",
      "value": "0x44"
    },
    "4852": {
      "op": "DUP3"
    },
    "4853": {
      "op": "ADD"
    },
    "4854": {
      "op": "MSTORE"
    },
    "4855": {
      "op": "PUSH2",
      "value": "0x1251"
    },
    "4858": {
      "op": "PUSH1",
      "value": "0xF2"
    },
    "4860": {
      "op": "SHL"
    },
    "4861": {
      "op": "PUSH1",
      "value": "0x64"
    },
    "4863": {
      "op": "DUP3"
    },
    "4864": {
      "op": "ADD"
    },
    "4865": {
      "op": "MSTORE"
    },
    "4866": {
      "op": "PUSH1",
      "value": "0x84"
    },
    "4868": {
      "op": "ADD"
    },
    "4869": {
      "fn": "ComponentController.getComponentType",
      "offset": [
        7194,
        7238
      ],
      "op": "PUSH2",
      "path": "75",
      "value": "0x453"
    },
    "4872": {
      "op": "JUMP"
    },
    "4873": {
      "fn": "ComponentController.getPolicyFlow",
      "offset": [
        9069,
        9292
      ],
      "op": "JUMPDEST",
      "path": "75"
    },
    "4874": {
      "fn": "ComponentController.getPolicyFlow",
      "offset": [
        9132,
        9151
      ],
      "op": "PUSH1",
      "path": "75",
      "value": "0x0"
    },
    "4876": {
      "fn": "ComponentController.getPolicyFlow",
      "offset": [
        9171,
        9191
      ],
      "op": "PUSH2",
      "path": "75",
      "statement": 52,
      "value": "0x1314"
    },
    "4879": {
      "fn": "ComponentController.getPolicyFlow",
      "offset": [
        9181,
        9190
      ],
      "op": "DUP3",
      "path": "75"
    },
    "4880": {
      "fn": "ComponentController.getPolicyFlow",
      "offset": [
        9171,
        9180
      ],
      "op": "PUSH2",
      "path": "75",
      "value": "0x9DA"
    },
    "4883": {
      "fn": "ComponentController.getPolicyFlow",
      "jump": "i",
      "offset": [
        9171,
        9191
      ],
      "op": "JUMP",
      "path": "75"
    },
    "4884": {
      "branch": 105,
      "fn": "ComponentController.getPolicyFlow",
      "offset": [
        9171,
        9191
      ],
      "op": "JUMPDEST",
      "path": "75"
    },
    "4885": {
      "fn": "ComponentController.getPolicyFlow",
      "offset": [
        9163,
        9228
      ],
      "op": "PUSH2",
      "path": "75",
      "value": "0x1360"
    },
    "4888": {
      "branch": 105,
      "fn": "ComponentController.getPolicyFlow",
      "offset": [
        9163,
        9228
      ],
      "op": "JUMPI",
      "path": "75"
    },
    "4889": {
      "fn": "ComponentController.getPolicyFlow",
      "offset": [
        9163,
        9228
      ],
      "op": "PUSH1",
      "path": "75",
      "value": "0x40"
    },
    "4891": {
      "fn": "ComponentController.getPolicyFlow",
      "offset": [
        9163,
        9228
      ],
      "op": "MLOAD",
      "path": "75"
    },
    "4892": {
      "op": "PUSH3",
      "value": "0x461BCD"
    },
    "4896": {
      "op": "PUSH1",
      "value": "0xE5"
    },
    "4898": {
      "op": "SHL"
    },
    "4899": {
      "fn": "ComponentController.getPolicyFlow",
      "offset": [
        9163,
        9228
      ],
      "op": "DUP2",
      "path": "75"
    },
    "4900": {
      "fn": "ComponentController.getPolicyFlow",
      "offset": [
        9163,
        9228
      ],
      "op": "MSTORE",
      "path": "75"
    },
    "4901": {
      "op": "PUSH1",
      "value": "0x20"
    },
    "4903": {
      "fn": "ComponentController.getPolicyFlow",
      "offset": [
        9163,
        9228
      ],
      "op": "PUSH1",
      "path": "75",
      "value": "0x4"
    },
    "4905": {
      "fn": "ComponentController.getPolicyFlow",
      "offset": [
        9163,
        9228
      ],
      "op": "DUP3",
      "path": "75"
    },
    "4906": {
      "fn": "ComponentController.getPolicyFlow",
      "offset": [
        9163,
        9228
      ],
      "op": "ADD",
      "path": "75"
    },
    "4907": {
      "op": "DUP2"
    },
    "4908": {
      "op": "SWAP1"
    },
    "4909": {
      "op": "MSTORE"
    },
    "4910": {
      "op": "PUSH1",
      "value": "0x24"
    },
    "4912": {
      "op": "DUP3"
    },
    "4913": {
      "op": "ADD"
    },
    "4914": {
      "op": "MSTORE"
    },
    "4915": {
      "op": "PUSH32",
      "value": "0x4552524F523A4343522D3031313A554E4B4E4F574E5F50524F445543545F4944"
    },
    "4948": {
      "op": "PUSH1",
      "value": "0x44"
    },
    "4950": {
      "op": "DUP3"
    },
    "4951": {
      "op": "ADD"
    },
    "4952": {
      "op": "MSTORE"
    },
    "4953": {
      "op": "PUSH1",
      "value": "0x64"
    },
    "4955": {
      "op": "ADD"
    },
    "4956": {
      "fn": "ComponentController.getPolicyFlow",
      "offset": [
        9163,
        9228
      ],
      "op": "PUSH2",
      "path": "75",
      "value": "0x453"
    },
    "4959": {
      "op": "JUMP"
    },
    "4960": {
      "fn": "ComponentController.getPolicyFlow",
      "offset": [
        9163,
        9228
      ],
      "op": "JUMPDEST",
      "path": "75"
    },
    "4961": {
      "op": "POP"
    },
    "4962": {
      "fn": "ComponentController.getPolicyFlow",
      "offset": [
        9252,
        9285
      ],
      "op": "PUSH1",
      "path": "75",
      "statement": 53,
      "value": "0x0"
    },
    "4964": {
      "fn": "ComponentController.getPolicyFlow",
      "offset": [
        9252,
        9285
      ],
      "op": "SWAP1",
      "path": "75"
    },
    "4965": {
      "fn": "ComponentController.getPolicyFlow",
      "offset": [
        9252,
        9285
      ],
      "op": "DUP2",
      "path": "75"
    },
    "4966": {
      "fn": "ComponentController.getPolicyFlow",
      "offset": [
        9252,
        9285
      ],
      "op": "MSTORE",
      "path": "75"
    },
    "4967": {
      "fn": "ComponentController.getPolicyFlow",
      "offset": [
        9252,
        9274
      ],
      "op": "PUSH1",
      "path": "75",
      "value": "0xD"
    },
    "4969": {
      "fn": "ComponentController.getPolicyFlow",
      "offset": [
        9252,
        9285
      ],
      "op": "PUSH1",
      "path": "75",
      "value": "0x20"
    },
    "4971": {
      "fn": "ComponentController.getPolicyFlow",
      "offset": [
        9252,
        9285
      ],
      "op": "MSTORE",
      "path": "75"
    },
    "4972": {
      "fn": "ComponentController.getPolicyFlow",
      "offset": [
        9252,
        9285
      ],
      "op": "PUSH1",
      "path": "75",
      "value": "0x40"
    },
    "4974": {
      "fn": "ComponentController.getPolicyFlow",
      "offset": [
        9252,
        9285
      ],
      "op": "SWAP1",
      "path": "75"
    },
    "4975": {
      "fn": "ComponentController.getPolicyFlow",
      "offset": [
        9252,
        9285
      ],
      "op": "KECCAK256",
      "path": "75"
    },
    "4976": {
      "fn": "ComponentController.getPolicyFlow",
      "offset": [
        9252,
        9285
      ],
      "op": "SLOAD",
      "path": "75"
    },
    "4977": {
      "op": "PUSH1",
      "value": "0x1"
    },
    "4979": {
      "op": "PUSH1",
      "value": "0x1"
    },
    "4981": {
      "op": "PUSH1",
      "value": "0xA0"
    },
    "4983": {
      "op": "SHL"
    },
    "4984": {
      "op": "SUB"
    },
    "4985": {
      "fn": "ComponentController.getPolicyFlow",
      "offset": [
        9252,
        9285
      ],
      "op": "AND",
      "path": "75"
    },
    "4986": {
      "fn": "ComponentController.getPolicyFlow",
      "offset": [
        9252,
        9285
      ],
      "op": "SWAP1",
      "path": "75"
    },
    "4987": {
      "fn": "ComponentController.getPolicyFlow",
      "jump": "o",
      "offset": [
        9069,
        9292
      ],
      "op": "JUMP",
      "path": "75"
    },
    "4988": {
      "fn": "ComponentController.unpause",
      "offset": [
        5155,
        5487
      ],
      "op": "JUMPDEST",
      "path": "75"
    },
    "4989": {
      "offset": [
        1273,
        1317
      ],
      "op": "PUSH2",
      "path": "75",
      "value": "0x139D"
    },
    "4992": {
      "op": "PUSH21",
      "value": "0x436F6D706F6E656E744F776E657253657276696365"
    },
    "5014": {
      "op": "PUSH1",
      "value": "0x58"
    },
    "5016": {
      "op": "SHL"
    },
    "5017": {
      "offset": [
        1273,
        1292
      ],
      "op": "PUSH2",
      "path": "75",
      "value": "0x1460"
    },
    "5020": {
      "jump": "i",
      "offset": [
        1273,
        1317
      ],
      "op": "JUMP",
      "path": "75"
    },
    "5021": {
      "fn": "ComponentController.unpause",
      "offset": [
        1273,
        1317
      ],
      "op": "JUMPDEST",
      "path": "75"
    },
    "5022": {
      "op": "PUSH1",
      "value": "0x1"
    },
    "5024": {
      "op": "PUSH1",
      "value": "0x1"
    },
    "5026": {
      "op": "PUSH1",
      "value": "0xA0"
    },
    "5028": {
      "op": "SHL"
    },
    "5029": {
      "op": "SUB"
    },
    "5030": {
      "offset": [
        1257,
        1317
      ],
      "op": "AND",
      "path": "75"
    },
    "5031": {
      "fn": "Context._msgSender",
      "offset": [
        719,
        729
      ],
      "op": "CALLER",
      "path": "22"
    },
    "5032": {
      "op": "PUSH1",
      "value": "0x1"
    },
    "5034": {
      "op": "PUSH1",
      "value": "0x1"
    },
    "5036": {
      "op": "PUSH1",
      "value": "0xA0"
    },
    "5038": {
      "op": "SHL"
    },
    "5039": {
      "op": "SUB"
    },
    "5040": {
      "offset": [
        1257,
        1317
      ],
      "op": "AND",
      "path": "75"
    },
    "5041": {
      "branch": 106,
      "fn": "Context._msgSender",
      "offset": [
        1257,
        1317
      ],
      "op": "EQ",
      "path": "75"
    },
    "5042": {
      "offset": [
        1236,
        1375
      ],
      "op": "PUSH2",
      "path": "75",
      "value": "0x13CD"
    },
    "5045": {
      "branch": 106,
      "offset": [
        1236,
        1375
      ],
      "op": "JUMPI",
      "path": "75"
    },
    "5046": {
      "fn": "Context._msgSender",
      "offset": [
        1236,
        1375
      ],
      "op": "PUSH1",
      "path": "75",
      "value": "0x40"
    },
    "5048": {
      "fn": "Context._msgSender",
      "offset": [
        1236,
        1375
      ],
      "op": "MLOAD",
      "path": "75"
    },
    "5049": {
      "op": "PUSH3",
      "value": "0x461BCD"
    },
    "5053": {
      "op": "PUSH1",
      "value": "0xE5"
    },
    "5055": {
      "op": "SHL"
    },
    "5056": {
      "offset": [
        1236,
        1375
      ],
      "op": "DUP2",
      "path": "75"
    },
    "5057": {
      "fn": "Context._msgSender",
      "offset": [
        1236,
        1375
      ],
      "op": "MSTORE",
      "path": "75"
    },
    "5058": {
      "fn": "Context._msgSender",
      "offset": [
        1236,
        1375
      ],
      "op": "PUSH1",
      "path": "75",
      "value": "0x4"
    },
    "5060": {
      "fn": "Context._msgSender",
      "offset": [
        1236,
        1375
      ],
      "op": "ADD",
      "path": "75"
    },
    "5061": {
      "fn": "Context._msgSender",
      "offset": [
        1236,
        1375
      ],
      "op": "PUSH2",
      "path": "75",
      "value": "0x453"
    },
    "5064": {
      "fn": "Context._msgSender",
      "offset": [
        1236,
        1375
      ],
      "op": "SWAP1",
      "path": "75"
    },
    "5065": {
      "fn": "Context._msgSender",
      "offset": [
        1236,
        1375
      ],
      "op": "PUSH2",
      "path": "75",
      "value": "0x20EF"
    },
    "5068": {
      "fn": "Context._msgSender",
      "jump": "i",
      "offset": [
        1236,
        1375
      ],
      "op": "JUMP",
      "path": "75"
    },
    "5069": {
      "fn": "Context._msgSender",
      "offset": [
        1236,
        1375
      ],
      "op": "JUMPDEST",
      "path": "75"
    },
    "5070": {
      "fn": "ComponentController.unpause",
      "offset": [
        5252,
        5302
      ],
      "op": "PUSH2",
      "path": "75",
      "statement": 54,
      "value": "0x13D8"
    },
    "5073": {
      "fn": "ComponentController.unpause",
      "offset": [
        5265,
        5267
      ],
      "op": "DUP2",
      "path": "75"
    },
    "5074": {
      "fn": "ComponentController.unpause",
      "offset": [
        5269,
        5301
      ],
      "op": "PUSH1",
      "path": "75",
      "value": "0x3"
    },
    "5076": {
      "fn": "ComponentController.unpause",
      "offset": [
        5252,
        5264
      ],
      "op": "PUSH2",
      "path": "75",
      "value": "0x184D"
    },
    "5079": {
      "fn": "ComponentController.unpause",
      "jump": "i",
      "offset": [
        5252,
        5302
      ],
      "op": "JUMP",
      "path": "75"
    },
    "5080": {
      "fn": "ComponentController.unpause",
      "offset": [
        5252,
        5302
      ],
      "op": "JUMPDEST",
      "path": "75"
    },
    "5081": {
      "fn": "ComponentController.unpause",
      "offset": [
        5317,
        5341
      ],
      "op": "PUSH1",
      "path": "75",
      "statement": 55,
      "value": "0x40"
    },
    "5083": {
      "fn": "ComponentController.unpause",
      "offset": [
        5317,
        5341
      ],
      "op": "MLOAD",
      "path": "75"
    },
    "5084": {
      "op": "DUP2"
    },
    "5085": {
      "op": "DUP2"
    },
    "5086": {
      "op": "MSTORE"
    },
    "5087": {
      "fn": "ComponentController.unpause",
      "offset": [
        5317,
        5341
      ],
      "op": "PUSH32",
      "path": "75",
      "value": "0x8E78CA4CC29C505D9901FD1582BA8584083396CE204151EDDD3E008749A24FE0"
    },
    "5120": {
      "fn": "ComponentController.unpause",
      "offset": [
        5317,
        5341
      ],
      "op": "SWAP1",
      "path": "75"
    },
    "5121": {
      "op": "PUSH1",
      "value": "0x20"
    },
    "5123": {
      "op": "ADD"
    },
    "5124": {
      "fn": "ComponentController.unpause",
      "offset": [
        5317,
        5341
      ],
      "op": "PUSH1",
      "path": "75",
      "value": "0x40"
    },
    "5126": {
      "fn": "ComponentController.unpause",
      "offset": [
        5317,
        5341
      ],
      "op": "MLOAD",
      "path": "75"
    },
    "5127": {
      "fn": "ComponentController.unpause",
      "offset": [
        5317,
        5341
      ],
      "op": "DUP1",
      "path": "75"
    },
    "5128": {
      "fn": "ComponentController.unpause",
      "offset": [
        5317,
        5341
      ],
      "op": "SWAP2",
      "path": "75"
    },
    "5129": {
      "fn": "ComponentController.unpause",
      "offset": [
        5317,
        5341
      ],
      "op": "SUB",
      "path": "75"
    },
    "5130": {
      "fn": "ComponentController.unpause",
      "offset": [
        5317,
        5341
      ],
      "op": "SWAP1",
      "path": "75"
    },
    "5131": {
      "fn": "ComponentController.unpause",
      "offset": [
        5317,
        5341
      ],
      "op": "LOG1",
      "path": "75"
    },
    "5132": {
      "fn": "ComponentController.unpause",
      "offset": [
        5404,
        5424
      ],
      "op": "PUSH1",
      "path": "75",
      "value": "0x0"
    },
    "5134": {
      "fn": "ComponentController.unpause",
      "offset": [
        5427,
        5443
      ],
      "op": "PUSH2",
      "path": "75",
      "value": "0x1416"
    },
    "5137": {
      "fn": "ComponentController.unpause",
      "offset": [
        5440,
        5442
      ],
      "op": "DUP3",
      "path": "75"
    },
    "5138": {
      "fn": "ComponentController.unpause",
      "offset": [
        5427,
        5439
      ],
      "op": "PUSH2",
      "path": "75",
      "value": "0xB99"
    },
    "5141": {
      "fn": "ComponentController.unpause",
      "jump": "i",
      "offset": [
        5427,
        5443
      ],
      "op": "JUMP",
      "path": "75"
    },
    "5142": {
      "fn": "ComponentController.unpause",
      "offset": [
        5427,
        5443
      ],
      "op": "JUMPDEST",
      "path": "75"
    },
    "5143": {
      "fn": "ComponentController.unpause",
      "offset": [
        5404,
        5443
      ],
      "op": "SWAP1",
      "path": "75"
    },
    "5144": {
      "fn": "ComponentController.unpause",
      "offset": [
        5404,
        5443
      ],
      "op": "POP",
      "path": "75"
    },
    "5145": {
      "fn": "ComponentController.unpause",
      "offset": [
        5453,
        5462
      ],
      "op": "DUP1",
      "path": "75",
      "statement": 56
    },
    "5146": {
      "op": "PUSH1",
      "value": "0x1"
    },
    "5148": {
      "op": "PUSH1",
      "value": "0x1"
    },
    "5150": {
      "op": "PUSH1",
      "value": "0xA0"
    },
    "5152": {
      "op": "SHL"
    },
    "5153": {
      "op": "SUB"
    },
    "5154": {
      "fn": "ComponentController.unpause",
      "offset": [
        5453,
        5478
      ],
      "op": "AND",
      "path": "75"
    },
    "5155": {
      "fn": "ComponentController.unpause",
      "offset": [
        5453,
        5478
      ],
      "op": "PUSH4",
      "path": "75",
      "value": "0x59DACC6A"
    },
    "5160": {
      "fn": "ComponentController.unpause",
      "offset": [
        5453,
        5480
      ],
      "op": "PUSH1",
      "path": "75",
      "value": "0x40"
    },
    "5162": {
      "fn": "ComponentController.unpause",
      "offset": [
        5453,
        5480
      ],
      "op": "MLOAD",
      "path": "75"
    },
    "5163": {
      "fn": "ComponentController.unpause",
      "offset": [
        5453,
        5480
      ],
      "op": "DUP2",
      "path": "75"
    },
    "5164": {
      "fn": "ComponentController.unpause",
      "offset": [
        5453,
        5480
      ],
      "op": "PUSH4",
      "path": "75",
      "value": "0xFFFFFFFF"
    },
    "5169": {
      "fn": "ComponentController.unpause",
      "offset": [
        5453,
        5480
      ],
      "op": "AND",
      "path": "75"
    },
    "5170": {
      "fn": "ComponentController.unpause",
      "offset": [
        5453,
        5480
      ],
      "op": "PUSH1",
      "path": "75",
      "value": "0xE0"
    },
    "5172": {
      "fn": "ComponentController.unpause",
      "offset": [
        5453,
        5480
      ],
      "op": "SHL",
      "path": "75"
    },
    "5173": {
      "fn": "ComponentController.unpause",
      "offset": [
        5453,
        5480
      ],
      "op": "DUP2",
      "path": "75"
    },
    "5174": {
      "fn": "ComponentController.unpause",
      "offset": [
        5453,
        5480
      ],
      "op": "MSTORE",
      "path": "75"
    },
    "5175": {
      "fn": "ComponentController.unpause",
      "offset": [
        5453,
        5480
      ],
      "op": "PUSH1",
      "path": "75",
      "value": "0x4"
    },
    "5177": {
      "fn": "ComponentController.unpause",
      "offset": [
        5453,
        5480
      ],
      "op": "ADD",
      "path": "75"
    },
    "5178": {
      "fn": "ComponentController.unpause",
      "offset": [
        5453,
        5480
      ],
      "op": "PUSH1",
      "path": "75",
      "value": "0x0"
    },
    "5180": {
      "fn": "ComponentController.unpause",
      "offset": [
        5453,
        5480
      ],
      "op": "PUSH1",
      "path": "75",
      "value": "0x40"
    },
    "5182": {
      "fn": "ComponentController.unpause",
      "offset": [
        5453,
        5480
      ],
      "op": "MLOAD",
      "path": "75"
    },
    "5183": {
      "fn": "ComponentController.unpause",
      "offset": [
        5453,
        5480
      ],
      "op": "DUP1",
      "path": "75"
    },
    "5184": {
      "fn": "ComponentController.unpause",
      "offset": [
        5453,
        5480
      ],
      "op": "DUP4",
      "path": "75"
    },
    "5185": {
      "fn": "ComponentController.unpause",
      "offset": [
        5453,
        5480
      ],
      "op": "SUB",
      "path": "75"
    },
    "5186": {
      "fn": "ComponentController.unpause",
      "offset": [
        5453,
        5480
      ],
      "op": "DUP2",
      "path": "75"
    },
    "5187": {
      "fn": "ComponentController.unpause",
      "offset": [
        5453,
        5480
      ],
      "op": "PUSH1",
      "path": "75",
      "value": "0x0"
    },
    "5189": {
      "fn": "ComponentController.unpause",
      "offset": [
        5453,
        5480
      ],
      "op": "DUP8",
      "path": "75"
    },
    "5190": {
      "fn": "ComponentController.unpause",
      "offset": [
        5453,
        5480
      ],
      "op": "DUP1",
      "path": "75"
    },
    "5191": {
      "fn": "ComponentController.unpause",
      "offset": [
        5453,
        5480
      ],
      "op": "EXTCODESIZE",
      "path": "75"
    },
    "5192": {
      "fn": "ComponentController.unpause",
      "offset": [
        5453,
        5480
      ],
      "op": "ISZERO",
      "path": "75"
    },
    "5193": {
      "fn": "ComponentController.unpause",
      "offset": [
        5453,
        5480
      ],
      "op": "DUP1",
      "path": "75"
    },
    "5194": {
      "fn": "ComponentController.unpause",
      "offset": [
        5453,
        5480
      ],
      "op": "ISZERO",
      "path": "75"
    },
    "5195": {
      "fn": "ComponentController.unpause",
      "offset": [
        5453,
        5480
      ],
      "op": "PUSH2",
      "path": "75",
      "value": "0x71D"
    },
    "5198": {
      "fn": "ComponentController.unpause",
      "offset": [
        5453,
        5480
      ],
      "op": "JUMPI",
      "path": "75"
    },
    "5199": {
      "fn": "ComponentController.unpause",
      "offset": [
        5453,
        5480
      ],
      "op": "PUSH1",
      "path": "75",
      "value": "0x0"
    },
    "5201": {
      "fn": "ComponentController.unpause",
      "offset": [
        5453,
        5480
      ],
      "op": "DUP1",
      "path": "75"
    },
    "5202": {
      "fn": "ComponentController.unpause",
      "offset": [
        5453,
        5480
      ],
      "op": "REVERT",
      "path": "75"
    },
    "5203": {
      "fn": "ComponentController.getRiskpoolId",
      "offset": [
        7546,
        7680
      ],
      "op": "JUMPDEST",
      "path": "75"
    },
    "5204": {
      "fn": "ComponentController.getRiskpoolId",
      "offset": [
        7603,
        7621
      ],
      "op": "PUSH1",
      "path": "75",
      "value": "0x0"
    },
    "5206": {
      "fn": "ComponentController.getRiskpoolId",
      "offset": [
        7640,
        7673
      ],
      "op": "PUSH2",
      "path": "75",
      "statement": 57,
      "value": "0x746"
    },
    "5209": {
      "fn": "ComponentController.getRiskpoolId",
      "offset": [
        7657,
        7667
      ],
      "op": "PUSH1",
      "path": "75",
      "value": "0xA"
    },
    "5211": {
      "fn": "ComponentController.getRiskpoolId",
      "offset": [
        7669,
        7672
      ],
      "op": "DUP4",
      "path": "75"
    },
    "5212": {
      "fn": "ComponentController.getRiskpoolId",
      "offset": [
        7640,
        7656
      ],
      "op": "PUSH2",
      "path": "75",
      "value": "0x18F1"
    },
    "5215": {
      "fn": "ComponentController.getRiskpoolId",
      "jump": "i",
      "offset": [
        7640,
        7673
      ],
      "op": "JUMP",
      "path": "75"
    },
    "5216": {
      "fn": "CoreController._getContractAddress",
      "offset": [
        1530,
        1823
      ],
      "op": "JUMPDEST",
      "path": "88"
    },
    "5217": {
      "fn": "CoreController._getContractAddress",
      "offset": [
        1604,
        1627
      ],
      "op": "PUSH1",
      "path": "88",
      "value": "0x0"
    },
    "5219": {
      "fn": "CoreController._getContractAddress",
      "offset": [
        1658,
        1667
      ],
      "op": "DUP1",
      "path": "88",
      "statement": 58
    },
    "5220": {
      "fn": "CoreController._getContractAddress",
      "offset": [
        1658,
        1667
      ],
      "op": "SLOAD",
      "path": "88"
    },
    "5221": {
      "fn": "CoreController._getContractAddress",
      "offset": [
        1658,
        1693
      ],
      "op": "PUSH1",
      "path": "88",
      "value": "0x40"
    },
    "5223": {
      "fn": "CoreController._getContractAddress",
      "offset": [
        1658,
        1693
      ],
      "op": "MLOAD",
      "path": "88"
    },
    "5224": {
      "op": "PUSH4",
      "value": "0x1C2D8FB3"
    },
    "5229": {
      "op": "PUSH1",
      "value": "0xE3"
    },
    "5231": {
      "op": "SHL"
    },
    "5232": {
      "fn": "CoreController._getContractAddress",
      "offset": [
        1658,
        1693
      ],
      "op": "DUP2",
      "path": "88"
    },
    "5233": {
      "fn": "CoreController._getContractAddress",
      "offset": [
        1658,
        1693
      ],
      "op": "MSTORE",
      "path": "88"
    },
    "5234": {
      "fn": "CoreController._getContractAddress",
      "offset": [
        1658,
        1693
      ],
      "op": "PUSH1",
      "path": "88",
      "value": "0x4"
    },
    "5236": {
      "fn": "CoreController._getContractAddress",
      "offset": [
        1658,
        1693
      ],
      "op": "DUP2",
      "path": "88"
    },
    "5237": {
      "fn": "CoreController._getContractAddress",
      "offset": [
        1658,
        1693
      ],
      "op": "ADD",
      "path": "88"
    },
    "5238": {
      "op": "DUP5"
    },
    "5239": {
      "op": "SWAP1"
    },
    "5240": {
      "op": "MSTORE"
    },
    "5241": {
      "fn": "CoreController._getContractAddress",
      "offset": [
        1658,
        1667
      ],
      "op": "PUSH3",
      "path": "88",
      "value": "0x10000"
    },
    "5245": {
      "fn": "CoreController._getContractAddress",
      "offset": [
        1658,
        1667
      ],
      "op": "SWAP1",
      "path": "88"
    },
    "5246": {
      "fn": "CoreController._getContractAddress",
      "offset": [
        1658,
        1667
      ],
      "op": "SWAP2",
      "path": "88"
    },
    "5247": {
      "fn": "CoreController._getContractAddress",
      "offset": [
        1658,
        1667
      ],
      "op": "DIV",
      "path": "88"
    },
    "5248": {
      "op": "PUSH1",
      "value": "0x1"
    },
    "5250": {
      "op": "PUSH1",
      "value": "0x1"
    },
    "5252": {
      "op": "PUSH1",
      "value": "0xA0"
    },
    "5254": {
      "op": "SHL"
    },
    "5255": {
      "op": "SUB"
    },
    "5256": {
      "fn": "CoreController._getContractAddress",
      "offset": [
        1658,
        1667
      ],
      "op": "AND",
      "path": "88"
    },
    "5257": {
      "fn": "CoreController._getContractAddress",
      "offset": [
        1658,
        1667
      ],
      "op": "SWAP1",
      "path": "88"
    },
    "5258": {
      "fn": "CoreController._getContractAddress",
      "offset": [
        1658,
        1679
      ],
      "op": "PUSH4",
      "path": "88",
      "value": "0xE16C7D98"
    },
    "5263": {
      "fn": "CoreController._getContractAddress",
      "offset": [
        1658,
        1679
      ],
      "op": "SWAP1",
      "path": "88"
    },
    "5264": {
      "op": "PUSH1",
      "value": "0x24"
    },
    "5266": {
      "op": "ADD"
    },
    "5267": {
      "fn": "CoreController._getContractAddress",
      "offset": [
        1658,
        1693
      ],
      "op": "PUSH1",
      "path": "88",
      "value": "0x20"
    },
    "5269": {
      "fn": "CoreController._getContractAddress",
      "offset": [
        1658,
        1693
      ],
      "op": "PUSH1",
      "path": "88",
      "value": "0x40"
    },
    "5271": {
      "fn": "CoreController._getContractAddress",
      "offset": [
        1658,
        1693
      ],
      "op": "MLOAD",
      "path": "88"
    },
    "5272": {
      "fn": "CoreController._getContractAddress",
      "offset": [
        1658,
        1693
      ],
      "op": "DUP1",
      "path": "88"
    },
    "5273": {
      "fn": "CoreController._getContractAddress",
      "offset": [
        1658,
        1693
      ],
      "op": "DUP4",
      "path": "88"
    },
    "5274": {
      "fn": "CoreController._getContractAddress",
      "offset": [
        1658,
        1693
      ],
      "op": "SUB",
      "path": "88"
    },
    "5275": {
      "fn": "CoreController._getContractAddress",
      "offset": [
        1658,
        1693
      ],
      "op": "DUP2",
      "path": "88"
    },
    "5276": {
      "fn": "CoreController._getContractAddress",
      "offset": [
        1658,
        1693
      ],
      "op": "DUP7",
      "path": "88"
    },
    "5277": {
      "fn": "CoreController._getContractAddress",
      "offset": [
        1658,
        1693
      ],
      "op": "DUP1",
      "path": "88"
    },
    "5278": {
      "fn": "CoreController._getContractAddress",
      "offset": [
        1658,
        1693
      ],
      "op": "EXTCODESIZE",
      "path": "88"
    },
    "5279": {
      "fn": "CoreController._getContractAddress",
      "offset": [
        1658,
        1693
      ],
      "op": "ISZERO",
      "path": "88"
    },
    "5280": {
      "fn": "CoreController._getContractAddress",
      "offset": [
        1658,
        1693
      ],
      "op": "DUP1",
      "path": "88"
    },
    "5281": {
      "fn": "CoreController._getContractAddress",
      "offset": [
        1658,
        1693
      ],
      "op": "ISZERO",
      "path": "88"
    },
    "5282": {
      "fn": "CoreController._getContractAddress",
      "offset": [
        1658,
        1693
      ],
      "op": "PUSH2",
      "path": "88",
      "value": "0x14AA"
    },
    "5285": {
      "fn": "CoreController._getContractAddress",
      "offset": [
        1658,
        1693
      ],
      "op": "JUMPI",
      "path": "88"
    },
    "5286": {
      "fn": "CoreController._getContractAddress",
      "offset": [
        1658,
        1693
      ],
      "op": "PUSH1",
      "path": "88",
      "value": "0x0"
    },
    "5288": {
      "fn": "CoreController._getContractAddress",
      "offset": [
        1658,
        1693
      ],
      "op": "DUP1",
      "path": "88"
    },
    "5289": {
      "fn": "CoreController._getContractAddress",
      "offset": [
        1658,
        1693
      ],
      "op": "REVERT",
      "path": "88"
    },
    "5290": {
      "fn": "CoreController._getContractAddress",
      "offset": [
        1658,
        1693
      ],
      "op": "JUMPDEST",
      "path": "88"
    },
    "5291": {
      "fn": "CoreController._getContractAddress",
      "offset": [
        1658,
        1693
      ],
      "op": "POP",
      "path": "88"
    },
    "5292": {
      "fn": "CoreController._getContractAddress",
      "offset": [
        1658,
        1693
      ],
      "op": "GAS",
      "path": "88"
    },
    "5293": {
      "fn": "CoreController._getContractAddress",
      "offset": [
        1658,
        1693
      ],
      "op": "STATICCALL",
      "path": "88"
    },
    "5294": {
      "fn": "CoreController._getContractAddress",
      "offset": [
        1658,
        1693
      ],
      "op": "ISZERO",
      "path": "88"
    },
    "5295": {
      "fn": "CoreController._getContractAddress",
      "offset": [
        1658,
        1693
      ],
      "op": "DUP1",
      "path": "88"
    },
    "5296": {
      "fn": "CoreController._getContractAddress",
      "offset": [
        1658,
        1693
      ],
      "op": "ISZERO",
      "path": "88"
    },
    "5297": {
      "fn": "CoreController._getContractAddress",
      "offset": [
        1658,
        1693
      ],
      "op": "PUSH2",
      "path": "88",
      "value": "0x14BE"
    },
    "5300": {
      "fn": "CoreController._getContractAddress",
      "offset": [
        1658,
        1693
      ],
      "op": "JUMPI",
      "path": "88"
    },
    "5301": {
      "fn": "CoreController._getContractAddress",
      "offset": [
        1658,
        1693
      ],
      "op": "RETURNDATASIZE",
      "path": "88"
    },
    "5302": {
      "fn": "CoreController._getContractAddress",
      "offset": [
        1658,
        1693
      ],
      "op": "PUSH1",
      "path": "88",
      "value": "0x0"
    },
    "5304": {
      "fn": "CoreController._getContractAddress",
      "offset": [
        1658,
        1693
      ],
      "op": "DUP1",
      "path": "88"
    },
    "5305": {
      "fn": "CoreController._getContractAddress",
      "offset": [
        1658,
        1693
      ],
      "op": "RETURNDATACOPY",
      "path": "88"
    },
    "5306": {
      "fn": "CoreController._getContractAddress",
      "offset": [
        1658,
        1693
      ],
      "op": "RETURNDATASIZE",
      "path": "88"
    },
    "5307": {
      "fn": "CoreController._getContractAddress",
      "offset": [
        1658,
        1693
      ],
      "op": "PUSH1",
      "path": "88",
      "value": "0x0"
    },
    "5309": {
      "fn": "CoreController._getContractAddress",
      "offset": [
        1658,
        1693
      ],
      "op": "REVERT",
      "path": "88"
    },
    "5310": {
      "fn": "CoreController._getContractAddress",
      "offset": [
        1658,
        1693
      ],
      "op": "JUMPDEST",
      "path": "88"
    },
    "5311": {
      "fn": "CoreController._getContractAddress",
      "offset": [
        1658,
        1693
      ],
      "op": "POP",
      "path": "88"
    },
    "5312": {
      "fn": "CoreController._getContractAddress",
      "offset": [
        1658,
        1693
      ],
      "op": "POP",
      "path": "88"
    },
    "5313": {
      "fn": "CoreController._getContractAddress",
      "offset": [
        1658,
        1693
      ],
      "op": "POP",
      "path": "88"
    },
    "5314": {
      "fn": "CoreController._getContractAddress",
      "offset": [
        1658,
        1693
      ],
      "op": "POP",
      "path": "88"
    },
    "5315": {
      "fn": "CoreController._getContractAddress",
      "offset": [
        1658,
        1693
      ],
      "op": "PUSH1",
      "path": "88",
      "value": "0x40"
    },
    "5317": {
      "fn": "CoreController._getContractAddress",
      "offset": [
        1658,
        1693
      ],
      "op": "MLOAD",
      "path": "88"
    },
    "5318": {
      "fn": "CoreController._getContractAddress",
      "offset": [
        1658,
        1693
      ],
      "op": "RETURNDATASIZE",
      "path": "88"
    },
    "5319": {
      "fn": "CoreController._getContractAddress",
      "offset": [
        1658,
        1693
      ],
      "op": "PUSH1",
      "path": "88",
      "value": "0x1F"
    },
    "5321": {
      "fn": "CoreController._getContractAddress",
      "offset": [
        1658,
        1693
      ],
      "op": "NOT",
      "path": "88"
    },
    "5322": {
      "fn": "CoreController._getContractAddress",
      "offset": [
        1658,
        1693
      ],
      "op": "PUSH1",
      "path": "88",
      "value": "0x1F"
    },
    "5324": {
      "fn": "CoreController._getContractAddress",
      "offset": [
        1658,
        1693
      ],
      "op": "DUP3",
      "path": "88"
    },
    "5325": {
      "fn": "CoreController._getContractAddress",
      "offset": [
        1658,
        1693
      ],
      "op": "ADD",
      "path": "88"
    },
    "5326": {
      "fn": "CoreController._getContractAddress",
      "offset": [
        1658,
        1693
      ],
      "op": "AND",
      "path": "88"
    },
    "5327": {
      "fn": "CoreController._getContractAddress",
      "offset": [
        1658,
        1693
      ],
      "op": "DUP3",
      "path": "88"
    },
    "5328": {
      "fn": "CoreController._getContractAddress",
      "offset": [
        1658,
        1693
      ],
      "op": "ADD",
      "path": "88"
    },
    "5329": {
      "fn": "CoreController._getContractAddress",
      "offset": [
        1658,
        1693
      ],
      "op": "DUP1",
      "path": "88"
    },
    "5330": {
      "fn": "CoreController._getContractAddress",
      "offset": [
        1658,
        1693
      ],
      "op": "PUSH1",
      "path": "88",
      "value": "0x40"
    },
    "5332": {
      "fn": "CoreController._getContractAddress",
      "offset": [
        1658,
        1693
      ],
      "op": "MSTORE",
      "path": "88"
    },
    "5333": {
      "fn": "CoreController._getContractAddress",
      "offset": [
        1658,
        1693
      ],
      "op": "POP",
      "path": "88"
    },
    "5334": {
      "fn": "CoreController._getContractAddress",
      "offset": [
        1658,
        1693
      ],
      "op": "DUP2",
      "path": "88"
    },
    "5335": {
      "fn": "CoreController._getContractAddress",
      "offset": [
        1658,
        1693
      ],
      "op": "ADD",
      "path": "88"
    },
    "5336": {
      "fn": "CoreController._getContractAddress",
      "offset": [
        1658,
        1693
      ],
      "op": "SWAP1",
      "path": "88"
    },
    "5337": {
      "fn": "CoreController._getContractAddress",
      "offset": [
        1658,
        1693
      ],
      "op": "PUSH2",
      "path": "88",
      "value": "0x14E2"
    },
    "5340": {
      "fn": "CoreController._getContractAddress",
      "offset": [
        1658,
        1693
      ],
      "op": "SWAP2",
      "path": "88"
    },
    "5341": {
      "fn": "CoreController._getContractAddress",
      "offset": [
        1658,
        1693
      ],
      "op": "SWAP1",
      "path": "88"
    },
    "5342": {
      "fn": "CoreController._getContractAddress",
      "offset": [
        1658,
        1693
      ],
      "op": "PUSH2",
      "path": "88",
      "value": "0x1F91"
    },
    "5345": {
      "fn": "CoreController._getContractAddress",
      "jump": "i",
      "offset": [
        1658,
        1693
      ],
      "op": "JUMP",
      "path": "88"
    },
    "5346": {
      "fn": "CoreController._getContractAddress",
      "offset": [
        1658,
        1693
      ],
      "op": "JUMPDEST",
      "path": "88"
    },
    "5347": {
      "fn": "CoreController._getContractAddress",
      "offset": [
        1640,
        1693
      ],
      "op": "SWAP1",
      "path": "88"
    },
    "5348": {
      "op": "POP"
    },
    "5349": {
      "op": "PUSH1",
      "value": "0x1"
    },
    "5351": {
      "op": "PUSH1",
      "value": "0x1"
    },
    "5353": {
      "op": "PUSH1",
      "value": "0xA0"
    },
    "5355": {
      "op": "SHL"
    },
    "5356": {
      "op": "SUB"
    },
    "5357": {
      "fn": "CoreController._getContractAddress",
      "offset": [
        1724,
        1753
      ],
      "op": "DUP2",
      "path": "88",
      "statement": 59
    },
    "5358": {
      "branch": 127,
      "fn": "CoreController._getContractAddress",
      "offset": [
        1724,
        1753
      ],
      "op": "AND",
      "path": "88"
    },
    "5359": {
      "fn": "CoreController._getContractAddress",
      "offset": [
        1703,
        1816
      ],
      "op": "PUSH2",
      "path": "88",
      "value": "0x749"
    },
    "5362": {
      "branch": 127,
      "fn": "CoreController._getContractAddress",
      "offset": [
        1703,
        1816
      ],
      "op": "JUMPI",
      "path": "88"
    },
    "5363": {
      "fn": "CoreController._getContractAddress",
      "offset": [
        1703,
        1816
      ],
      "op": "PUSH1",
      "path": "88",
      "value": "0x40"
    },
    "5365": {
      "fn": "CoreController._getContractAddress",
      "offset": [
        1703,
        1816
      ],
      "op": "MLOAD",
      "path": "88"
    },
    "5366": {
      "op": "PUSH3",
      "value": "0x461BCD"
    },
    "5370": {
      "op": "PUSH1",
      "value": "0xE5"
    },
    "5372": {
      "op": "SHL"
    },
    "5373": {
      "fn": "CoreController._getContractAddress",
      "offset": [
        1703,
        1816
      ],
      "op": "DUP2",
      "path": "88"
    },
    "5374": {
      "fn": "CoreController._getContractAddress",
      "offset": [
        1703,
        1816
      ],
      "op": "MSTORE",
      "path": "88"
    },
    "5375": {
      "op": "PUSH1",
      "value": "0x20"
    },
    "5377": {
      "fn": "CoreController._getContractAddress",
      "offset": [
        1703,
        1816
      ],
      "op": "PUSH1",
      "path": "88",
      "value": "0x4"
    },
    "5379": {
      "fn": "CoreController._getContractAddress",
      "offset": [
        1703,
        1816
      ],
      "op": "DUP3",
      "path": "88"
    },
    "5380": {
      "fn": "CoreController._getContractAddress",
      "offset": [
        1703,
        1816
      ],
      "op": "ADD",
      "path": "88"
    },
    "5381": {
      "op": "MSTORE"
    },
    "5382": {
      "op": "PUSH1",
      "value": "0x25"
    },
    "5384": {
      "op": "PUSH1",
      "value": "0x24"
    },
    "5386": {
      "op": "DUP3"
    },
    "5387": {
      "op": "ADD"
    },
    "5388": {
      "op": "MSTORE"
    },
    "5389": {
      "op": "PUSH32",
      "value": "0x4552524F523A4352432D3030343A434F4E54524143545F4E4F545F5245474953"
    },
    "5422": {
      "op": "PUSH1",
      "value": "0x44"
    },
    "5424": {
      "op": "DUP3"
    },
    "5425": {
      "op": "ADD"
    },
    "5426": {
      "op": "MSTORE"
    },
    "5427": {
      "op": "PUSH5",
      "value": "0x1511549151"
    },
    "5433": {
      "op": "PUSH1",
      "value": "0xDA"
    },
    "5435": {
      "op": "SHL"
    },
    "5436": {
      "op": "PUSH1",
      "value": "0x64"
    },
    "5438": {
      "op": "DUP3"
    },
    "5439": {
      "op": "ADD"
    },
    "5440": {
      "op": "MSTORE"
    },
    "5441": {
      "op": "PUSH1",
      "value": "0x84"
    },
    "5443": {
      "op": "ADD"
    },
    "5444": {
      "fn": "CoreController._getContractAddress",
      "offset": [
        1703,
        1816
      ],
      "op": "PUSH2",
      "path": "88",
      "value": "0x453"
    },
    "5447": {
      "op": "JUMP"
    },
    "5448": {
      "fn": "ComponentController._persistComponent",
      "offset": [
        2367,
        3152
      ],
      "op": "JUMPDEST",
      "path": "75"
    },
    "5449": {
      "fn": "ComponentController._persistComponent",
      "offset": [
        2511,
        2526
      ],
      "op": "PUSH1",
      "path": "75",
      "statement": 60,
      "value": "0xC"
    },
    "5451": {
      "fn": "ComponentController._persistComponent",
      "offset": [
        2511,
        2528
      ],
      "op": "DUP1",
      "path": "75"
    },
    "5452": {
      "fn": "ComponentController._persistComponent",
      "offset": [
        2511,
        2528
      ],
      "op": "SLOAD",
      "path": "75"
    },
    "5453": {
      "fn": "ComponentController._persistComponent",
      "offset": [
        2450,
        2460
      ],
      "op": "PUSH1",
      "path": "75",
      "value": "0x0"
    },
    "5455": {
      "fn": "ComponentController._persistComponent",
      "offset": [
        2450,
        2460
      ],
      "op": "SWAP2",
      "path": "75"
    },
    "5456": {
      "fn": "ComponentController._persistComponent",
      "offset": [
        2450,
        2460
      ],
      "op": "DUP3",
      "path": "75"
    },
    "5457": {
      "fn": "ComponentController._persistComponent",
      "offset": [
        2511,
        2528
      ],
      "op": "PUSH2",
      "path": "75",
      "value": "0x1559"
    },
    "5460": {
      "fn": "ComponentController._persistComponent",
      "offset": [
        2511,
        2528
      ],
      "op": "DUP4",
      "path": "75"
    },
    "5461": {
      "fn": "ComponentController._persistComponent",
      "offset": [
        2511,
        2528
      ],
      "op": "PUSH2",
      "path": "75",
      "value": "0x2161"
    },
    "5464": {
      "fn": "ComponentController._persistComponent",
      "jump": "i",
      "offset": [
        2511,
        2528
      ],
      "op": "JUMP",
      "path": "75"
    },
    "5465": {
      "fn": "ComponentController._persistComponent",
      "offset": [
        2511,
        2528
      ],
      "op": "JUMPDEST",
      "path": "75"
    },
    "5466": {
      "fn": "ComponentController._persistComponent",
      "offset": [
        2511,
        2528
      ],
      "op": "SWAP2",
      "path": "75"
    },
    "5467": {
      "fn": "ComponentController._persistComponent",
      "offset": [
        2511,
        2528
      ],
      "op": "SWAP1",
      "path": "75"
    },
    "5468": {
      "fn": "ComponentController._persistComponent",
      "offset": [
        2511,
        2528
      ],
      "op": "POP",
      "path": "75"
    },
    "5469": {
      "fn": "ComponentController._persistComponent",
      "offset": [
        2511,
        2528
      ],
      "op": "SSTORE",
      "path": "75"
    },
    "5470": {
      "fn": "ComponentController._persistComponent",
      "offset": [
        2511,
        2528
      ],
      "op": "POP",
      "path": "75"
    },
    "5471": {
      "fn": "ComponentController._persistComponent",
      "offset": [
        2543,
        2558
      ],
      "op": "PUSH1",
      "path": "75",
      "statement": 61,
      "value": "0xC"
    },
    "5473": {
      "fn": "ComponentController._persistComponent",
      "offset": [
        2543,
        2558
      ],
      "op": "SLOAD",
      "path": "75"
    },
    "5474": {
      "fn": "ComponentController._persistComponent",
      "offset": [
        2538,
        2558
      ],
      "op": "SWAP1",
      "path": "75"
    },
    "5475": {
      "fn": "ComponentController._persistComponent",
      "offset": [
        2538,
        2558
      ],
      "op": "POP",
      "path": "75"
    },
    "5476": {
      "fn": "ComponentController._persistComponent",
      "offset": [
        2603,
        2655
      ],
      "op": "PUSH2",
      "path": "75",
      "statement": 62,
      "value": "0x156E"
    },
    "5479": {
      "fn": "ComponentController._persistComponent",
      "offset": [
        2616,
        2618
      ],
      "op": "DUP2",
      "path": "75"
    },
    "5480": {
      "fn": "ComponentController._persistComponent",
      "offset": [
        2620,
        2654
      ],
      "op": "PUSH1",
      "path": "75",
      "value": "0x1"
    },
    "5482": {
      "fn": "ComponentController._persistComponent",
      "offset": [
        2603,
        2615
      ],
      "op": "PUSH2",
      "path": "75",
      "value": "0x184D"
    },
    "5485": {
      "fn": "ComponentController._persistComponent",
      "jump": "i",
      "offset": [
        2603,
        2655
      ],
      "op": "JUMP",
      "path": "75"
    },
    "5486": {
      "fn": "ComponentController._persistComponent",
      "offset": [
        2603,
        2655
      ],
      "op": "JUMPDEST",
      "path": "75"
    },
    "5487": {
      "fn": "ComponentController._persistComponent",
      "offset": [
        2665,
        2684
      ],
      "op": "PUSH1",
      "path": "75",
      "statement": 63,
      "value": "0x40"
    },
    "5489": {
      "fn": "ComponentController._persistComponent",
      "offset": [
        2665,
        2684
      ],
      "op": "MLOAD",
      "path": "75"
    },
    "5490": {
      "op": "PUSH4",
      "value": "0xD0E0BA95"
    },
    "5495": {
      "op": "PUSH1",
      "value": "0xE0"
    },
    "5497": {
      "op": "SHL"
    },
    "5498": {
      "fn": "ComponentController._persistComponent",
      "offset": [
        2665,
        2684
      ],
      "op": "DUP2",
      "path": "75"
    },
    "5499": {
      "fn": "ComponentController._persistComponent",
      "offset": [
        2665,
        2684
      ],
      "op": "MSTORE",
      "path": "75"
    },
    "5500": {
      "fn": "ComponentController._persistComponent",
      "offset": [
        2665,
        2684
      ],
      "op": "PUSH1",
      "path": "75",
      "value": "0x4"
    },
    "5502": {
      "fn": "ComponentController._persistComponent",
      "offset": [
        2665,
        2684
      ],
      "op": "DUP2",
      "path": "75"
    },
    "5503": {
      "fn": "ComponentController._persistComponent",
      "offset": [
        2665,
        2684
      ],
      "op": "ADD",
      "path": "75"
    },
    "5504": {
      "op": "DUP3"
    },
    "5505": {
      "op": "SWAP1"
    },
    "5506": {
      "op": "MSTORE"
    },
    "5507": {
      "op": "PUSH1",
      "value": "0x1"
    },
    "5509": {
      "op": "PUSH1",
      "value": "0x1"
    },
    "5511": {
      "op": "PUSH1",
      "value": "0xA0"
    },
    "5513": {
      "op": "SHL"
    },
    "5514": {
      "op": "SUB"
    },
    "5515": {
      "fn": "ComponentController._persistComponent",
      "offset": [
        2665,
        2680
      ],
      "op": "DUP4",
      "path": "75"
    },
    "5516": {
      "fn": "ComponentController._persistComponent",
      "offset": [
        2665,
        2680
      ],
      "op": "AND",
      "path": "75"
    },
    "5517": {
      "fn": "ComponentController._persistComponent",
      "offset": [
        2665,
        2680
      ],
      "op": "SWAP1",
      "path": "75"
    },
    "5518": {
      "fn": "ComponentController._persistComponent",
      "offset": [
        2665,
        2680
      ],
      "op": "PUSH4",
      "path": "75",
      "value": "0xD0E0BA95"
    },
    "5523": {
      "fn": "ComponentController._persistComponent",
      "offset": [
        2665,
        2680
      ],
      "op": "SWAP1",
      "path": "75"
    },
    "5524": {
      "op": "PUSH1",
      "value": "0x24"
    },
    "5526": {
      "op": "ADD"
    },
    "5527": {
      "fn": "ComponentController._persistComponent",
      "offset": [
        2665,
        2684
      ],
      "op": "PUSH1",
      "path": "75",
      "value": "0x0"
    },
    "5529": {
      "fn": "ComponentController._persistComponent",
      "offset": [
        2665,
        2684
      ],
      "op": "PUSH1",
      "path": "75",
      "value": "0x40"
    },
    "5531": {
      "fn": "ComponentController._persistComponent",
      "offset": [
        2665,
        2684
      ],
      "op": "MLOAD",
      "path": "75"
    },
    "5532": {
      "fn": "ComponentController._persistComponent",
      "offset": [
        2665,
        2684
      ],
      "op": "DUP1",
      "path": "75"
    },
    "5533": {
      "fn": "ComponentController._persistComponent",
      "offset": [
        2665,
        2684
      ],
      "op": "DUP4",
      "path": "75"
    },
    "5534": {
      "fn": "ComponentController._persistComponent",
      "offset": [
        2665,
        2684
      ],
      "op": "SUB",
      "path": "75"
    },
    "5535": {
      "fn": "ComponentController._persistComponent",
      "offset": [
        2665,
        2684
      ],
      "op": "DUP2",
      "path": "75"
    },
    "5536": {
      "fn": "ComponentController._persistComponent",
      "offset": [
        2665,
        2684
      ],
      "op": "PUSH1",
      "path": "75",
      "value": "0x0"
    },
    "5538": {
      "fn": "ComponentController._persistComponent",
      "offset": [
        2665,
        2684
      ],
      "op": "DUP8",
      "path": "75"
    },
    "5539": {
      "fn": "ComponentController._persistComponent",
      "offset": [
        2665,
        2684
      ],
      "op": "DUP1",
      "path": "75"
    },
    "5540": {
      "fn": "ComponentController._persistComponent",
      "offset": [
        2665,
        2684
      ],
      "op": "EXTCODESIZE",
      "path": "75"
    },
    "5541": {
      "fn": "ComponentController._persistComponent",
      "offset": [
        2665,
        2684
      ],
      "op": "ISZERO",
      "path": "75"
    },
    "5542": {
      "fn": "ComponentController._persistComponent",
      "offset": [
        2665,
        2684
      ],
      "op": "DUP1",
      "path": "75"
    },
    "5543": {
      "fn": "ComponentController._persistComponent",
      "offset": [
        2665,
        2684
      ],
      "op": "ISZERO",
      "path": "75"
    },
    "5544": {
      "fn": "ComponentController._persistComponent",
      "offset": [
        2665,
        2684
      ],
      "op": "PUSH2",
      "path": "75",
      "value": "0x15B0"
    },
    "5547": {
      "fn": "ComponentController._persistComponent",
      "offset": [
        2665,
        2684
      ],
      "op": "JUMPI",
      "path": "75"
    },
    "5548": {
      "fn": "ComponentController._persistComponent",
      "offset": [
        2665,
        2684
      ],
      "op": "PUSH1",
      "path": "75",
      "value": "0x0"
    },
    "5550": {
      "fn": "ComponentController._persistComponent",
      "offset": [
        2665,
        2684
      ],
      "op": "DUP1",
      "path": "75"
    },
    "5551": {
      "fn": "ComponentController._persistComponent",
      "offset": [
        2665,
        2684
      ],
      "op": "REVERT",
      "path": "75"
    },
    "5552": {
      "fn": "ComponentController._persistComponent",
      "offset": [
        2665,
        2684
      ],
      "op": "JUMPDEST",
      "path": "75"
    },
    "5553": {
      "fn": "ComponentController._persistComponent",
      "offset": [
        2665,
        2684
      ],
      "op": "POP",
      "path": "75"
    },
    "5554": {
      "fn": "ComponentController._persistComponent",
      "offset": [
        2665,
        2684
      ],
      "op": "GAS",
      "path": "75"
    },
    "5555": {
      "fn": "ComponentController._persistComponent",
      "offset": [
        2665,
        2684
      ],
      "op": "CALL",
      "path": "75"
    },
    "5556": {
      "fn": "ComponentController._persistComponent",
      "offset": [
        2665,
        2684
      ],
      "op": "ISZERO",
      "path": "75"
    },
    "5557": {
      "fn": "ComponentController._persistComponent",
      "offset": [
        2665,
        2684
      ],
      "op": "DUP1",
      "path": "75"
    },
    "5558": {
      "fn": "ComponentController._persistComponent",
      "offset": [
        2665,
        2684
      ],
      "op": "ISZERO",
      "path": "75"
    },
    "5559": {
      "fn": "ComponentController._persistComponent",
      "offset": [
        2665,
        2684
      ],
      "op": "PUSH2",
      "path": "75",
      "value": "0x15C4"
    },
    "5562": {
      "fn": "ComponentController._persistComponent",
      "offset": [
        2665,
        2684
      ],
      "op": "JUMPI",
      "path": "75"
    },
    "5563": {
      "fn": "ComponentController._persistComponent",
      "offset": [
        2665,
        2684
      ],
      "op": "RETURNDATASIZE",
      "path": "75"
    },
    "5564": {
      "fn": "ComponentController._persistComponent",
      "offset": [
        2665,
        2684
      ],
      "op": "PUSH1",
      "path": "75",
      "value": "0x0"
    },
    "5566": {
      "fn": "ComponentController._persistComponent",
      "offset": [
        2665,
        2684
      ],
      "op": "DUP1",
      "path": "75"
    },
    "5567": {
      "fn": "ComponentController._persistComponent",
      "offset": [
        2665,
        2684
      ],
      "op": "RETURNDATACOPY",
      "path": "75"
    },
    "5568": {
      "fn": "ComponentController._persistComponent",
      "offset": [
        2665,
        2684
      ],
      "op": "RETURNDATASIZE",
      "path": "75"
    },
    "5569": {
      "fn": "ComponentController._persistComponent",
      "offset": [
        2665,
        2684
      ],
      "op": "PUSH1",
      "path": "75",
      "value": "0x0"
    },
    "5571": {
      "fn": "ComponentController._persistComponent",
      "offset": [
        2665,
        2684
      ],
      "op": "REVERT",
      "path": "75"
    },
    "5572": {
      "fn": "ComponentController._persistComponent",
      "offset": [
        2665,
        2684
      ],
      "op": "JUMPDEST",
      "path": "75"
    },
    "5573": {
      "op": "POP"
    },
    "5574": {
      "op": "POP"
    },
    "5575": {
      "op": "POP"
    },
    "5576": {
      "fn": "ComponentController._persistComponent",
      "offset": [
        2737,
        2755
      ],
      "op": "PUSH1",
      "path": "75",
      "statement": 64,
      "value": "0x0"
    },
    "5578": {
      "fn": "ComponentController._persistComponent",
      "offset": [
        2737,
        2755
      ],
      "op": "DUP3",
      "path": "75"
    },
    "5579": {
      "fn": "ComponentController._persistComponent",
      "offset": [
        2737,
        2755
      ],
      "op": "DUP2",
      "path": "75"
    },
    "5580": {
      "fn": "ComponentController._persistComponent",
      "offset": [
        2737,
        2755
      ],
      "op": "MSTORE",
      "path": "75"
    },
    "5581": {
      "fn": "ComponentController._persistComponent",
      "offset": [
        2737,
        2751
      ],
      "op": "PUSH1",
      "path": "75",
      "value": "0x2"
    },
    "5583": {
      "fn": "ComponentController._persistComponent",
      "offset": [
        2737,
        2755
      ],
      "op": "PUSH1",
      "path": "75",
      "value": "0x20"
    },
    "5585": {
      "fn": "ComponentController._persistComponent",
      "offset": [
        2737,
        2755
      ],
      "op": "SWAP1",
      "path": "75"
    },
    "5586": {
      "fn": "ComponentController._persistComponent",
      "offset": [
        2737,
        2755
      ],
      "op": "DUP2",
      "path": "75"
    },
    "5587": {
      "fn": "ComponentController._persistComponent",
      "offset": [
        2737,
        2755
      ],
      "op": "MSTORE",
      "path": "75"
    },
    "5588": {
      "fn": "ComponentController._persistComponent",
      "offset": [
        2737,
        2755
      ],
      "op": "PUSH1",
      "path": "75",
      "value": "0x40"
    },
    "5590": {
      "fn": "ComponentController._persistComponent",
      "offset": [
        2737,
        2755
      ],
      "op": "DUP1",
      "path": "75"
    },
    "5591": {
      "fn": "ComponentController._persistComponent",
      "offset": [
        2737,
        2755
      ],
      "op": "DUP4",
      "path": "75"
    },
    "5592": {
      "fn": "ComponentController._persistComponent",
      "offset": [
        2737,
        2755
      ],
      "op": "KECCAK256",
      "path": "75"
    },
    "5593": {
      "fn": "ComponentController._persistComponent",
      "offset": [
        2737,
        2767
      ],
      "op": "DUP1",
      "path": "75"
    },
    "5594": {
      "fn": "ComponentController._persistComponent",
      "offset": [
        2737,
        2767
      ],
      "op": "SLOAD",
      "path": "75"
    },
    "5595": {
      "op": "PUSH1",
      "value": "0x1"
    },
    "5597": {
      "op": "PUSH1",
      "value": "0x1"
    },
    "5599": {
      "op": "PUSH1",
      "value": "0xA0"
    },
    "5601": {
      "op": "SHL"
    },
    "5602": {
      "op": "SUB"
    },
    "5603": {
      "op": "NOT"
    },
    "5604": {
      "fn": "ComponentController._persistComponent",
      "offset": [
        2737,
        2767
      ],
      "op": "AND",
      "path": "75"
    },
    "5605": {
      "op": "PUSH1",
      "value": "0x1"
    },
    "5607": {
      "op": "PUSH1",
      "value": "0x1"
    },
    "5609": {
      "op": "PUSH1",
      "value": "0xA0"
    },
    "5611": {
      "op": "SHL"
    },
    "5612": {
      "op": "SUB"
    },
    "5613": {
      "fn": "ComponentController._persistComponent",
      "offset": [
        2737,
        2767
      ],
      "op": "DUP9",
      "path": "75"
    },
    "5614": {
      "fn": "ComponentController._persistComponent",
      "offset": [
        2737,
        2767
      ],
      "op": "AND",
      "path": "75"
    },
    "5615": {
      "fn": "ComponentController._persistComponent",
      "offset": [
        2737,
        2767
      ],
      "op": "SWAP1",
      "path": "75"
    },
    "5616": {
      "fn": "ComponentController._persistComponent",
      "offset": [
        2737,
        2767
      ],
      "op": "DUP2",
      "path": "75"
    },
    "5617": {
      "fn": "ComponentController._persistComponent",
      "offset": [
        2737,
        2767
      ],
      "op": "OR",
      "path": "75"
    },
    "5618": {
      "fn": "ComponentController._persistComponent",
      "offset": [
        2737,
        2767
      ],
      "op": "SWAP1",
      "path": "75"
    },
    "5619": {
      "fn": "ComponentController._persistComponent",
      "offset": [
        2737,
        2767
      ],
      "op": "SWAP2",
      "path": "75"
    },
    "5620": {
      "fn": "ComponentController._persistComponent",
      "offset": [
        2737,
        2767
      ],
      "op": "SSTORE",
      "path": "75"
    },
    "5621": {
      "fn": "ComponentController._persistComponent",
      "offset": [
        2796,
        2815
      ],
      "op": "DUP2",
      "path": "75",
      "statement": 65
    },
    "5622": {
      "fn": "ComponentController._persistComponent",
      "offset": [
        2796,
        2815
      ],
      "op": "MLOAD",
      "path": "75"
    },
    "5623": {
      "op": "PUSH4",
      "value": "0x5F5F79F"
    },
    "5628": {
      "op": "PUSH1",
      "value": "0xE2"
    },
    "5630": {
      "op": "SHL"
    },
    "5631": {
      "fn": "ComponentController._persistComponent",
      "offset": [
        2796,
        2815
      ],
      "op": "DUP2",
      "path": "75"
    },
    "5632": {
      "fn": "ComponentController._persistComponent",
      "offset": [
        2796,
        2815
      ],
      "op": "MSTORE",
      "path": "75"
    },
    "5633": {
      "fn": "ComponentController._persistComponent",
      "offset": [
        2796,
        2815
      ],
      "op": "SWAP2",
      "path": "75"
    },
    "5634": {
      "fn": "ComponentController._persistComponent",
      "offset": [
        2796,
        2815
      ],
      "op": "MLOAD",
      "path": "75"
    },
    "5635": {
      "fn": "ComponentController._persistComponent",
      "offset": [
        2737,
        2755
      ],
      "op": "DUP7",
      "path": "75"
    },
    "5636": {
      "fn": "ComponentController._persistComponent",
      "offset": [
        2737,
        2755
      ],
      "op": "SWAP6",
      "path": "75"
    },
    "5637": {
      "op": "POP"
    },
    "5638": {
      "fn": "ComponentController._persistComponent",
      "offset": [
        2777,
        2795
      ],
      "op": "PUSH1",
      "path": "75",
      "value": "0x3"
    },
    "5640": {
      "fn": "ComponentController._persistComponent",
      "offset": [
        2777,
        2795
      ],
      "op": "SWAP5",
      "path": "75"
    },
    "5641": {
      "fn": "ComponentController._persistComponent",
      "offset": [
        2737,
        2755
      ],
      "op": "SWAP4",
      "path": "75"
    },
    "5642": {
      "fn": "ComponentController._persistComponent",
      "offset": [
        2737,
        2767
      ],
      "op": "SWAP2",
      "path": "75"
    },
    "5643": {
      "fn": "ComponentController._persistComponent",
      "offset": [
        2737,
        2767
      ],
      "op": "SWAP3",
      "path": "75"
    },
    "5644": {
      "fn": "ComponentController._persistComponent",
      "offset": [
        2796,
        2813
      ],
      "op": "PUSH4",
      "path": "75",
      "value": "0x17D7DE7C"
    },
    "5649": {
      "fn": "ComponentController._persistComponent",
      "offset": [
        2796,
        2813
      ],
      "op": "SWAP3",
      "path": "75"
    },
    "5650": {
      "fn": "ComponentController._persistComponent",
      "offset": [
        2796,
        2815
      ],
      "op": "PUSH1",
      "path": "75",
      "value": "0x4"
    },
    "5652": {
      "fn": "ComponentController._persistComponent",
      "offset": [
        2796,
        2815
      ],
      "op": "DUP1",
      "path": "75"
    },
    "5653": {
      "fn": "ComponentController._persistComponent",
      "offset": [
        2796,
        2815
      ],
      "op": "DUP4",
      "path": "75"
    },
    "5654": {
      "fn": "ComponentController._persistComponent",
      "offset": [
        2796,
        2815
      ],
      "op": "ADD",
      "path": "75"
    },
    "5655": {
      "fn": "ComponentController._persistComponent",
      "offset": [
        2796,
        2815
      ],
      "op": "SWAP4",
      "path": "75"
    },
    "5656": {
      "fn": "ComponentController._persistComponent",
      "offset": [
        2737,
        2755
      ],
      "op": "SWAP2",
      "path": "75"
    },
    "5657": {
      "fn": "ComponentController._persistComponent",
      "offset": [
        2737,
        2755
      ],
      "op": "SWAP3",
      "path": "75"
    },
    "5658": {
      "fn": "ComponentController._persistComponent",
      "offset": [
        2796,
        2815
      ],
      "op": "DUP3",
      "path": "75"
    },
    "5659": {
      "fn": "ComponentController._persistComponent",
      "offset": [
        2796,
        2815
      ],
      "op": "SWAP1",
      "path": "75"
    },
    "5660": {
      "fn": "ComponentController._persistComponent",
      "offset": [
        2796,
        2815
      ],
      "op": "SUB",
      "path": "75"
    },
    "5661": {
      "fn": "ComponentController._persistComponent",
      "offset": [
        2796,
        2815
      ],
      "op": "ADD",
      "path": "75"
    },
    "5662": {
      "fn": "ComponentController._persistComponent",
      "offset": [
        2796,
        2815
      ],
      "op": "DUP2",
      "path": "75"
    },
    "5663": {
      "fn": "ComponentController._persistComponent",
      "offset": [
        2737,
        2767
      ],
      "op": "DUP7",
      "path": "75"
    },
    "5664": {
      "fn": "ComponentController._persistComponent",
      "offset": [
        2796,
        2815
      ],
      "op": "DUP1",
      "path": "75"
    },
    "5665": {
      "fn": "ComponentController._persistComponent",
      "offset": [
        2796,
        2815
      ],
      "op": "EXTCODESIZE",
      "path": "75"
    },
    "5666": {
      "fn": "ComponentController._persistComponent",
      "offset": [
        2796,
        2815
      ],
      "op": "ISZERO",
      "path": "75"
    },
    "5667": {
      "fn": "ComponentController._persistComponent",
      "offset": [
        2796,
        2815
      ],
      "op": "DUP1",
      "path": "75"
    },
    "5668": {
      "fn": "ComponentController._persistComponent",
      "offset": [
        2796,
        2815
      ],
      "op": "ISZERO",
      "path": "75"
    },
    "5669": {
      "fn": "ComponentController._persistComponent",
      "offset": [
        2796,
        2815
      ],
      "op": "PUSH2",
      "path": "75",
      "value": "0x162D"
    },
    "5672": {
      "fn": "ComponentController._persistComponent",
      "offset": [
        2796,
        2815
      ],
      "op": "JUMPI",
      "path": "75"
    },
    "5673": {
      "fn": "ComponentController._persistComponent",
      "offset": [
        2796,
        2815
      ],
      "op": "PUSH1",
      "path": "75",
      "value": "0x0"
    },
    "5675": {
      "fn": "ComponentController._persistComponent",
      "offset": [
        2796,
        2815
      ],
      "op": "DUP1",
      "path": "75"
    },
    "5676": {
      "fn": "ComponentController._persistComponent",
      "offset": [
        2796,
        2815
      ],
      "op": "REVERT",
      "path": "75"
    },
    "5677": {
      "fn": "ComponentController._persistComponent",
      "offset": [
        2796,
        2815
      ],
      "op": "JUMPDEST",
      "path": "75"
    },
    "5678": {
      "fn": "ComponentController._persistComponent",
      "offset": [
        2796,
        2815
      ],
      "op": "POP",
      "path": "75"
    },
    "5679": {
      "fn": "ComponentController._persistComponent",
      "offset": [
        2796,
        2815
      ],
      "op": "GAS",
      "path": "75"
    },
    "5680": {
      "fn": "ComponentController._persistComponent",
      "offset": [
        2796,
        2815
      ],
      "op": "STATICCALL",
      "path": "75"
    },
    "5681": {
      "fn": "ComponentController._persistComponent",
      "offset": [
        2796,
        2815
      ],
      "op": "ISZERO",
      "path": "75"
    },
    "5682": {
      "fn": "ComponentController._persistComponent",
      "offset": [
        2796,
        2815
      ],
      "op": "DUP1",
      "path": "75"
    },
    "5683": {
      "fn": "ComponentController._persistComponent",
      "offset": [
        2796,
        2815
      ],
      "op": "ISZERO",
      "path": "75"
    },
    "5684": {
      "fn": "ComponentController._persistComponent",
      "offset": [
        2796,
        2815
      ],
      "op": "PUSH2",
      "path": "75",
      "value": "0x1641"
    },
    "5687": {
      "fn": "ComponentController._persistComponent",
      "offset": [
        2796,
        2815
      ],
      "op": "JUMPI",
      "path": "75"
    },
    "5688": {
      "fn": "ComponentController._persistComponent",
      "offset": [
        2796,
        2815
      ],
      "op": "RETURNDATASIZE",
      "path": "75"
    },
    "5689": {
      "fn": "ComponentController._persistComponent",
      "offset": [
        2796,
        2815
      ],
      "op": "PUSH1",
      "path": "75",
      "value": "0x0"
    },
    "5691": {
      "fn": "ComponentController._persistComponent",
      "offset": [
        2796,
        2815
      ],
      "op": "DUP1",
      "path": "75"
    },
    "5692": {
      "fn": "ComponentController._persistComponent",
      "offset": [
        2796,
        2815
      ],
      "op": "RETURNDATACOPY",
      "path": "75"
    },
    "5693": {
      "fn": "ComponentController._persistComponent",
      "offset": [
        2796,
        2815
      ],
      "op": "RETURNDATASIZE",
      "path": "75"
    },
    "5694": {
      "fn": "ComponentController._persistComponent",
      "offset": [
        2796,
        2815
      ],
      "op": "PUSH1",
      "path": "75",
      "value": "0x0"
    },
    "5696": {
      "fn": "ComponentController._persistComponent",
      "offset": [
        2796,
        2815
      ],
      "op": "REVERT",
      "path": "75"
    },
    "5697": {
      "fn": "ComponentController._persistComponent",
      "offset": [
        2796,
        2815
      ],
      "op": "JUMPDEST",
      "path": "75"
    },
    "5698": {
      "fn": "ComponentController._persistComponent",
      "offset": [
        2796,
        2815
      ],
      "op": "POP",
      "path": "75"
    },
    "5699": {
      "fn": "ComponentController._persistComponent",
      "offset": [
        2796,
        2815
      ],
      "op": "POP",
      "path": "75"
    },
    "5700": {
      "fn": "ComponentController._persistComponent",
      "offset": [
        2796,
        2815
      ],
      "op": "POP",
      "path": "75"
    },
    "5701": {
      "fn": "ComponentController._persistComponent",
      "offset": [
        2796,
        2815
      ],
      "op": "POP",
      "path": "75"
    },
    "5702": {
      "fn": "ComponentController._persistComponent",
      "offset": [
        2796,
        2815
      ],
      "op": "PUSH1",
      "path": "75",
      "value": "0x40"
    },
    "5704": {
      "fn": "ComponentController._persistComponent",
      "offset": [
        2796,
        2815
      ],
      "op": "MLOAD",
      "path": "75"
    },
    "5705": {
      "fn": "ComponentController._persistComponent",
      "offset": [
        2796,
        2815
      ],
      "op": "RETURNDATASIZE",
      "path": "75"
    },
    "5706": {
      "fn": "ComponentController._persistComponent",
      "offset": [
        2796,
        2815
      ],
      "op": "PUSH1",
      "path": "75",
      "value": "0x1F"
    },
    "5708": {
      "fn": "ComponentController._persistComponent",
      "offset": [
        2796,
        2815
      ],
      "op": "NOT",
      "path": "75"
    },
    "5709": {
      "fn": "ComponentController._persistComponent",
      "offset": [
        2796,
        2815
      ],
      "op": "PUSH1",
      "path": "75",
      "value": "0x1F"
    },
    "5711": {
      "fn": "ComponentController._persistComponent",
      "offset": [
        2796,
        2815
      ],
      "op": "DUP3",
      "path": "75"
    },
    "5712": {
      "fn": "ComponentController._persistComponent",
      "offset": [
        2796,
        2815
      ],
      "op": "ADD",
      "path": "75"
    },
    "5713": {
      "fn": "ComponentController._persistComponent",
      "offset": [
        2796,
        2815
      ],
      "op": "AND",
      "path": "75"
    },
    "5714": {
      "fn": "ComponentController._persistComponent",
      "offset": [
        2796,
        2815
      ],
      "op": "DUP3",
      "path": "75"
    },
    "5715": {
      "fn": "ComponentController._persistComponent",
      "offset": [
        2796,
        2815
      ],
      "op": "ADD",
      "path": "75"
    },
    "5716": {
      "fn": "ComponentController._persistComponent",
      "offset": [
        2796,
        2815
      ],
      "op": "DUP1",
      "path": "75"
    },
    "5717": {
      "fn": "ComponentController._persistComponent",
      "offset": [
        2796,
        2815
      ],
      "op": "PUSH1",
      "path": "75",
      "value": "0x40"
    },
    "5719": {
      "fn": "ComponentController._persistComponent",
      "offset": [
        2796,
        2815
      ],
      "op": "MSTORE",
      "path": "75"
    },
    "5720": {
      "fn": "ComponentController._persistComponent",
      "offset": [
        2796,
        2815
      ],
      "op": "POP",
      "path": "75"
    },
    "5721": {
      "fn": "ComponentController._persistComponent",
      "offset": [
        2796,
        2815
      ],
      "op": "DUP2",
      "path": "75"
    },
    "5722": {
      "fn": "ComponentController._persistComponent",
      "offset": [
        2796,
        2815
      ],
      "op": "ADD",
      "path": "75"
    },
    "5723": {
      "fn": "ComponentController._persistComponent",
      "offset": [
        2796,
        2815
      ],
      "op": "SWAP1",
      "path": "75"
    },
    "5724": {
      "fn": "ComponentController._persistComponent",
      "offset": [
        2796,
        2815
      ],
      "op": "PUSH2",
      "path": "75",
      "value": "0x1665"
    },
    "5727": {
      "fn": "ComponentController._persistComponent",
      "offset": [
        2796,
        2815
      ],
      "op": "SWAP2",
      "path": "75"
    },
    "5728": {
      "fn": "ComponentController._persistComponent",
      "offset": [
        2796,
        2815
      ],
      "op": "SWAP1",
      "path": "75"
    },
    "5729": {
      "fn": "ComponentController._persistComponent",
      "offset": [
        2796,
        2815
      ],
      "op": "PUSH2",
      "path": "75",
      "value": "0x1FCD"
    },
    "5732": {
      "fn": "ComponentController._persistComponent",
      "jump": "i",
      "offset": [
        2796,
        2815
      ],
      "op": "JUMP",
      "path": "75"
    },
    "5733": {
      "fn": "ComponentController._persistComponent",
      "offset": [
        2796,
        2815
      ],
      "op": "JUMPDEST",
      "path": "75"
    },
    "5734": {
      "fn": "ComponentController._persistComponent",
      "offset": [
        2777,
        2816
      ],
      "op": "DUP2",
      "path": "75"
    },
    "5735": {
      "fn": "ComponentController._persistComponent",
      "offset": [
        2777,
        2816
      ],
      "op": "MSTORE",
      "path": "75"
    },
    "5736": {
      "fn": "ComponentController._persistComponent",
      "offset": [
        2777,
        2816
      ],
      "op": "PUSH1",
      "path": "75",
      "value": "0x20"
    },
    "5738": {
      "fn": "ComponentController._persistComponent",
      "offset": [
        2777,
        2816
      ],
      "op": "ADD",
      "path": "75"
    },
    "5739": {
      "fn": "ComponentController._persistComponent",
      "offset": [
        2777,
        2816
      ],
      "op": "SWAP1",
      "path": "75"
    },
    "5740": {
      "fn": "ComponentController._persistComponent",
      "offset": [
        2777,
        2816
      ],
      "op": "DUP2",
      "path": "75"
    },
    "5741": {
      "fn": "ComponentController._persistComponent",
      "offset": [
        2777,
        2816
      ],
      "op": "MSTORE",
      "path": "75"
    },
    "5742": {
      "fn": "ComponentController._persistComponent",
      "offset": [
        2777,
        2816
      ],
      "op": "PUSH1",
      "path": "75",
      "value": "0x20"
    },
    "5744": {
      "fn": "ComponentController._persistComponent",
      "offset": [
        2777,
        2816
      ],
      "op": "ADD",
      "path": "75"
    },
    "5745": {
      "fn": "ComponentController._persistComponent",
      "offset": [
        2777,
        2816
      ],
      "op": "PUSH1",
      "path": "75",
      "value": "0x0"
    },
    "5747": {
      "fn": "ComponentController._persistComponent",
      "offset": [
        2777,
        2816
      ],
      "op": "KECCAK256",
      "path": "75"
    },
    "5748": {
      "fn": "ComponentController._persistComponent",
      "offset": [
        2777,
        2821
      ],
      "op": "DUP2",
      "path": "75"
    },
    "5749": {
      "fn": "ComponentController._persistComponent",
      "offset": [
        2777,
        2821
      ],
      "op": "SWAP1",
      "path": "75"
    },
    "5750": {
      "fn": "ComponentController._persistComponent",
      "offset": [
        2777,
        2821
      ],
      "op": "SSTORE",
      "path": "75"
    },
    "5751": {
      "fn": "ComponentController._persistComponent",
      "offset": [
        2777,
        2821
      ],
      "op": "POP",
      "path": "75"
    },
    "5752": {
      "fn": "ComponentController._persistComponent",
      "offset": [
        2875,
        2877
      ],
      "op": "DUP1",
      "path": "75",
      "statement": 66
    },
    "5753": {
      "fn": "ComponentController._persistComponent",
      "offset": [
        2831,
        2852
      ],
      "op": "PUSH1",
      "path": "75",
      "value": "0x4"
    },
    "5755": {
      "fn": "ComponentController._persistComponent",
      "offset": [
        2831,
        2872
      ],
      "op": "PUSH1",
      "path": "75",
      "value": "0x0"
    },
    "5757": {
      "fn": "ComponentController._persistComponent",
      "offset": [
        2861,
        2870
      ],
      "op": "DUP5",
      "path": "75"
    },
    "5758": {
      "op": "PUSH1",
      "value": "0x1"
    },
    "5760": {
      "op": "PUSH1",
      "value": "0x1"
    },
    "5762": {
      "op": "PUSH1",
      "value": "0xA0"
    },
    "5764": {
      "op": "SHL"
    },
    "5765": {
      "op": "SUB"
    },
    "5766": {
      "fn": "ComponentController._persistComponent",
      "offset": [
        2831,
        2872
      ],
      "op": "AND",
      "path": "75"
    },
    "5767": {
      "op": "PUSH1",
      "value": "0x1"
    },
    "5769": {
      "op": "PUSH1",
      "value": "0x1"
    },
    "5771": {
      "op": "PUSH1",
      "value": "0xA0"
    },
    "5773": {
      "op": "SHL"
    },
    "5774": {
      "op": "SUB"
    },
    "5775": {
      "fn": "ComponentController._persistComponent",
      "offset": [
        2831,
        2872
      ],
      "op": "AND",
      "path": "75"
    },
    "5776": {
      "fn": "ComponentController._persistComponent",
      "offset": [
        2831,
        2872
      ],
      "op": "DUP2",
      "path": "75"
    },
    "5777": {
      "fn": "ComponentController._persistComponent",
      "offset": [
        2831,
        2872
      ],
      "op": "MSTORE",
      "path": "75"
    },
    "5778": {
      "fn": "ComponentController._persistComponent",
      "offset": [
        2831,
        2872
      ],
      "op": "PUSH1",
      "path": "75",
      "value": "0x20"
    },
    "5780": {
      "fn": "ComponentController._persistComponent",
      "offset": [
        2831,
        2872
      ],
      "op": "ADD",
      "path": "75"
    },
    "5781": {
      "fn": "ComponentController._persistComponent",
      "offset": [
        2831,
        2872
      ],
      "op": "SWAP1",
      "path": "75"
    },
    "5782": {
      "fn": "ComponentController._persistComponent",
      "offset": [
        2831,
        2872
      ],
      "op": "DUP2",
      "path": "75"
    },
    "5783": {
      "fn": "ComponentController._persistComponent",
      "offset": [
        2831,
        2872
      ],
      "op": "MSTORE",
      "path": "75"
    },
    "5784": {
      "fn": "ComponentController._persistComponent",
      "offset": [
        2831,
        2872
      ],
      "op": "PUSH1",
      "path": "75",
      "value": "0x20"
    },
    "5786": {
      "fn": "ComponentController._persistComponent",
      "offset": [
        2831,
        2872
      ],
      "op": "ADD",
      "path": "75"
    },
    "5787": {
      "fn": "ComponentController._persistComponent",
      "offset": [
        2831,
        2872
      ],
      "op": "PUSH1",
      "path": "75",
      "value": "0x0"
    },
    "5789": {
      "fn": "ComponentController._persistComponent",
      "offset": [
        2831,
        2872
      ],
      "op": "KECCAK256",
      "path": "75"
    },
    "5790": {
      "fn": "ComponentController._persistComponent",
      "offset": [
        2831,
        2877
      ],
      "op": "DUP2",
      "path": "75"
    },
    "5791": {
      "fn": "ComponentController._persistComponent",
      "offset": [
        2831,
        2877
      ],
      "op": "SWAP1",
      "path": "75"
    },
    "5792": {
      "fn": "ComponentController._persistComponent",
      "offset": [
        2831,
        2877
      ],
      "op": "SSTORE",
      "path": "75"
    },
    "5793": {
      "fn": "ComponentController._persistComponent",
      "offset": [
        2831,
        2877
      ],
      "op": "POP",
      "path": "75"
    },
    "5794": {
      "fn": "ComponentController._persistComponent",
      "offset": [
        2930,
        2939
      ],
      "op": "DUP2",
      "path": "75"
    },
    "5795": {
      "op": "PUSH1",
      "value": "0x1"
    },
    "5797": {
      "op": "PUSH1",
      "value": "0x1"
    },
    "5799": {
      "op": "PUSH1",
      "value": "0xA0"
    },
    "5801": {
      "op": "SHL"
    },
    "5802": {
      "op": "SUB"
    },
    "5803": {
      "fn": "ComponentController._persistComponent",
      "offset": [
        2930,
        2949
      ],
      "op": "AND",
      "path": "75"
    },
    "5804": {
      "fn": "ComponentController._persistComponent",
      "offset": [
        2930,
        2949
      ],
      "op": "PUSH4",
      "path": "75",
      "value": "0xE0815F0D"
    },
    "5809": {
      "fn": "ComponentController._persistComponent",
      "offset": [
        2930,
        2951
      ],
      "op": "PUSH1",
      "path": "75",
      "value": "0x40"
    },
    "5811": {
      "fn": "ComponentController._persistComponent",
      "offset": [
        2930,
        2951
      ],
      "op": "MLOAD",
      "path": "75"
    },
    "5812": {
      "fn": "ComponentController._persistComponent",
      "offset": [
        2930,
        2951
      ],
      "op": "DUP2",
      "path": "75"
    },
    "5813": {
      "fn": "ComponentController._persistComponent",
      "offset": [
        2930,
        2951
      ],
      "op": "PUSH4",
      "path": "75",
      "value": "0xFFFFFFFF"
    },
    "5818": {
      "fn": "ComponentController._persistComponent",
      "offset": [
        2930,
        2951
      ],
      "op": "AND",
      "path": "75"
    },
    "5819": {
      "fn": "ComponentController._persistComponent",
      "offset": [
        2930,
        2951
      ],
      "op": "PUSH1",
      "path": "75",
      "value": "0xE0"
    },
    "5821": {
      "fn": "ComponentController._persistComponent",
      "offset": [
        2930,
        2951
      ],
      "op": "SHL",
      "path": "75"
    },
    "5822": {
      "fn": "ComponentController._persistComponent",
      "offset": [
        2930,
        2951
      ],
      "op": "DUP2",
      "path": "75"
    },
    "5823": {
      "fn": "ComponentController._persistComponent",
      "offset": [
        2930,
        2951
      ],
      "op": "MSTORE",
      "path": "75"
    },
    "5824": {
      "fn": "ComponentController._persistComponent",
      "offset": [
        2930,
        2951
      ],
      "op": "PUSH1",
      "path": "75",
      "value": "0x4"
    },
    "5826": {
      "fn": "ComponentController._persistComponent",
      "offset": [
        2930,
        2951
      ],
      "op": "ADD",
      "path": "75"
    },
    "5827": {
      "fn": "ComponentController._persistComponent",
      "offset": [
        2930,
        2951
      ],
      "op": "PUSH1",
      "path": "75",
      "value": "0x20"
    },
    "5829": {
      "fn": "ComponentController._persistComponent",
      "offset": [
        2930,
        2951
      ],
      "op": "PUSH1",
      "path": "75",
      "value": "0x40"
    },
    "5831": {
      "fn": "ComponentController._persistComponent",
      "offset": [
        2930,
        2951
      ],
      "op": "MLOAD",
      "path": "75"
    },
    "5832": {
      "fn": "ComponentController._persistComponent",
      "offset": [
        2930,
        2951
      ],
      "op": "DUP1",
      "path": "75"
    },
    "5833": {
      "fn": "ComponentController._persistComponent",
      "offset": [
        2930,
        2951
      ],
      "op": "DUP4",
      "path": "75"
    },
    "5834": {
      "fn": "ComponentController._persistComponent",
      "offset": [
        2930,
        2951
      ],
      "op": "SUB",
      "path": "75"
    },
    "5835": {
      "fn": "ComponentController._persistComponent",
      "offset": [
        2930,
        2951
      ],
      "op": "DUP2",
      "path": "75"
    },
    "5836": {
      "fn": "ComponentController._persistComponent",
      "offset": [
        2930,
        2951
      ],
      "op": "DUP7",
      "path": "75"
    },
    "5837": {
      "fn": "ComponentController._persistComponent",
      "offset": [
        2930,
        2951
      ],
      "op": "DUP1",
      "path": "75"
    },
    "5838": {
      "fn": "ComponentController._persistComponent",
      "offset": [
        2930,
        2951
      ],
      "op": "EXTCODESIZE",
      "path": "75"
    },
    "5839": {
      "fn": "ComponentController._persistComponent",
      "offset": [
        2930,
        2951
      ],
      "op": "ISZERO",
      "path": "75"
    },
    "5840": {
      "fn": "ComponentController._persistComponent",
      "offset": [
        2930,
        2951
      ],
      "op": "DUP1",
      "path": "75"
    },
    "5841": {
      "fn": "ComponentController._persistComponent",
      "offset": [
        2930,
        2951
      ],
      "op": "ISZERO",
      "path": "75"
    },
    "5842": {
      "fn": "ComponentController._persistComponent",
      "offset": [
        2930,
        2951
      ],
      "op": "PUSH2",
      "path": "75",
      "value": "0x16DA"
    },
    "5845": {
      "fn": "ComponentController._persistComponent",
      "offset": [
        2930,
        2951
      ],
      "op": "JUMPI",
      "path": "75"
    },
    "5846": {
      "fn": "ComponentController._persistComponent",
      "offset": [
        2930,
        2951
      ],
      "op": "PUSH1",
      "path": "75",
      "value": "0x0"
    },
    "5848": {
      "fn": "ComponentController._persistComponent",
      "offset": [
        2930,
        2951
      ],
      "op": "DUP1",
      "path": "75"
    },
    "5849": {
      "fn": "ComponentController._persistComponent",
      "offset": [
        2930,
        2951
      ],
      "op": "REVERT",
      "path": "75"
    },
    "5850": {
      "fn": "ComponentController._persistComponent",
      "offset": [
        2930,
        2951
      ],
      "op": "JUMPDEST",
      "path": "75"
    },
    "5851": {
      "fn": "ComponentController._persistComponent",
      "offset": [
        2930,
        2951
      ],
      "op": "POP",
      "path": "75"
    },
    "5852": {
      "fn": "ComponentController._persistComponent",
      "offset": [
        2930,
        2951
      ],
      "op": "GAS",
      "path": "75"
    },
    "5853": {
      "fn": "ComponentController._persistComponent",
      "offset": [
        2930,
        2951
      ],
      "op": "STATICCALL",
      "path": "75"
    },
    "5854": {
      "fn": "ComponentController._persistComponent",
      "offset": [
        2930,
        2951
      ],
      "op": "ISZERO",
      "path": "75"
    },
    "5855": {
      "fn": "ComponentController._persistComponent",
      "offset": [
        2930,
        2951
      ],
      "op": "DUP1",
      "path": "75"
    },
    "5856": {
      "fn": "ComponentController._persistComponent",
      "offset": [
        2930,
        2951
      ],
      "op": "ISZERO",
      "path": "75"
    },
    "5857": {
      "fn": "ComponentController._persistComponent",
      "offset": [
        2930,
        2951
      ],
      "op": "PUSH2",
      "path": "75",
      "value": "0x16EE"
    },
    "5860": {
      "fn": "ComponentController._persistComponent",
      "offset": [
        2930,
        2951
      ],
      "op": "JUMPI",
      "path": "75"
    },
    "5861": {
      "fn": "ComponentController._persistComponent",
      "offset": [
        2930,
        2951
      ],
      "op": "RETURNDATASIZE",
      "path": "75"
    },
    "5862": {
      "fn": "ComponentController._persistComponent",
      "offset": [
        2930,
        2951
      ],
      "op": "PUSH1",
      "path": "75",
      "value": "0x0"
    },
    "5864": {
      "fn": "ComponentController._persistComponent",
      "offset": [
        2930,
        2951
      ],
      "op": "DUP1",
      "path": "75"
    },
    "5865": {
      "fn": "ComponentController._persistComponent",
      "offset": [
        2930,
        2951
      ],
      "op": "RETURNDATACOPY",
      "path": "75"
    },
    "5866": {
      "fn": "ComponentController._persistComponent",
      "offset": [
        2930,
        2951
      ],
      "op": "RETURNDATASIZE",
      "path": "75"
    },
    "5867": {
      "fn": "ComponentController._persistComponent",
      "offset": [
        2930,
        2951
      ],
      "op": "PUSH1",
      "path": "75",
      "value": "0x0"
    },
    "5869": {
      "fn": "ComponentController._persistComponent",
      "offset": [
        2930,
        2951
      ],
      "op": "REVERT",
      "path": "75"
    },
    "5870": {
      "fn": "ComponentController._persistComponent",
      "offset": [
        2930,
        2951
      ],
      "op": "JUMPDEST",
      "path": "75"
    },
    "5871": {
      "fn": "ComponentController._persistComponent",
      "offset": [
        2930,
        2951
      ],
      "op": "POP",
      "path": "75"
    },
    "5872": {
      "fn": "ComponentController._persistComponent",
      "offset": [
        2930,
        2951
      ],
      "op": "POP",
      "path": "75"
    },
    "5873": {
      "fn": "ComponentController._persistComponent",
      "offset": [
        2930,
        2951
      ],
      "op": "POP",
      "path": "75"
    },
    "5874": {
      "fn": "ComponentController._persistComponent",
      "offset": [
        2930,
        2951
      ],
      "op": "POP",
      "path": "75"
    },
    "5875": {
      "fn": "ComponentController._persistComponent",
      "offset": [
        2930,
        2951
      ],
      "op": "PUSH1",
      "path": "75",
      "value": "0x40"
    },
    "5877": {
      "fn": "ComponentController._persistComponent",
      "offset": [
        2930,
        2951
      ],
      "op": "MLOAD",
      "path": "75"
    },
    "5878": {
      "fn": "ComponentController._persistComponent",
      "offset": [
        2930,
        2951
      ],
      "op": "RETURNDATASIZE",
      "path": "75"
    },
    "5879": {
      "fn": "ComponentController._persistComponent",
      "offset": [
        2930,
        2951
      ],
      "op": "PUSH1",
      "path": "75",
      "value": "0x1F"
    },
    "5881": {
      "fn": "ComponentController._persistComponent",
      "offset": [
        2930,
        2951
      ],
      "op": "NOT",
      "path": "75"
    },
    "5882": {
      "fn": "ComponentController._persistComponent",
      "offset": [
        2930,
        2951
      ],
      "op": "PUSH1",
      "path": "75",
      "value": "0x1F"
    },
    "5884": {
      "fn": "ComponentController._persistComponent",
      "offset": [
        2930,
        2951
      ],
      "op": "DUP3",
      "path": "75"
    },
    "5885": {
      "fn": "ComponentController._persistComponent",
      "offset": [
        2930,
        2951
      ],
      "op": "ADD",
      "path": "75"
    },
    "5886": {
      "fn": "ComponentController._persistComponent",
      "offset": [
        2930,
        2951
      ],
      "op": "AND",
      "path": "75"
    },
    "5887": {
      "fn": "ComponentController._persistComponent",
      "offset": [
        2930,
        2951
      ],
      "op": "DUP3",
      "path": "75"
    },
    "5888": {
      "fn": "ComponentController._persistComponent",
      "offset": [
        2930,
        2951
      ],
      "op": "ADD",
      "path": "75"
    },
    "5889": {
      "fn": "ComponentController._persistComponent",
      "offset": [
        2930,
        2951
      ],
      "op": "DUP1",
      "path": "75"
    },
    "5890": {
      "fn": "ComponentController._persistComponent",
      "offset": [
        2930,
        2951
      ],
      "op": "PUSH1",
      "path": "75",
      "value": "0x40"
    },
    "5892": {
      "fn": "ComponentController._persistComponent",
      "offset": [
        2930,
        2951
      ],
      "op": "MSTORE",
      "path": "75"
    },
    "5893": {
      "fn": "ComponentController._persistComponent",
      "offset": [
        2930,
        2951
      ],
      "op": "POP",
      "path": "75"
    },
    "5894": {
      "fn": "ComponentController._persistComponent",
      "offset": [
        2930,
        2951
      ],
      "op": "DUP2",
      "path": "75"
    },
    "5895": {
      "fn": "ComponentController._persistComponent",
      "offset": [
        2930,
        2951
      ],
      "op": "ADD",
      "path": "75"
    },
    "5896": {
      "fn": "ComponentController._persistComponent",
      "offset": [
        2930,
        2951
      ],
      "op": "SWAP1",
      "path": "75"
    },
    "5897": {
      "fn": "ComponentController._persistComponent",
      "offset": [
        2930,
        2951
      ],
      "op": "PUSH2",
      "path": "75",
      "value": "0x1712"
    },
    "5900": {
      "fn": "ComponentController._persistComponent",
      "offset": [
        2930,
        2951
      ],
      "op": "SWAP2",
      "path": "75"
    },
    "5901": {
      "fn": "ComponentController._persistComponent",
      "offset": [
        2930,
        2951
      ],
      "op": "SWAP1",
      "path": "75"
    },
    "5902": {
      "fn": "ComponentController._persistComponent",
      "offset": [
        2930,
        2951
      ],
      "op": "PUSH2",
      "path": "75",
      "value": "0x1FAD"
    },
    "5905": {
      "fn": "ComponentController._persistComponent",
      "jump": "i",
      "offset": [
        2930,
        2951
      ],
      "op": "JUMP",
      "path": "75"
    },
    "5906": {
      "branch": 107,
      "fn": "ComponentController._persistComponent",
      "offset": [
        2930,
        2951
      ],
      "op": "JUMPDEST",
      "path": "75"
    },
    "5907": {
      "fn": "ComponentController._persistComponent",
      "offset": [
        2926,
        3146
      ],
      "op": "ISZERO",
      "path": "75"
    },
    "5908": {
      "fn": "ComponentController._persistComponent",
      "offset": [
        2926,
        3146
      ],
      "op": "PUSH2",
      "path": "75",
      "value": "0x1728"
    },
    "5911": {
      "branch": 107,
      "fn": "ComponentController._persistComponent",
      "offset": [
        2926,
        3146
      ],
      "op": "JUMPI",
      "path": "75"
    },
    "5912": {
      "fn": "ComponentController._persistComponent",
      "offset": [
        2955,
        2987
      ],
      "op": "PUSH2",
      "path": "75",
      "statement": 67,
      "value": "0x1722"
    },
    "5915": {
      "fn": "ComponentController._persistComponent",
      "offset": [
        2973,
        2982
      ],
      "op": "PUSH1",
      "path": "75",
      "value": "0x6"
    },
    "5917": {
      "fn": "ComponentController._persistComponent",
      "offset": [
        2984,
        2986
      ],
      "op": "DUP3",
      "path": "75"
    },
    "5918": {
      "fn": "ComponentController._persistComponent",
      "offset": [
        2955,
        2972
      ],
      "op": "PUSH2",
      "path": "75",
      "value": "0x196A"
    },
    "5921": {
      "fn": "ComponentController._persistComponent",
      "jump": "i",
      "offset": [
        2955,
        2987
      ],
      "op": "JUMP",
      "path": "75"
    },
    "5922": {
      "fn": "ComponentController._persistComponent",
      "offset": [
        2955,
        2987
      ],
      "op": "JUMPDEST",
      "path": "75"
    },
    "5923": {
      "fn": "ComponentController._persistComponent",
      "offset": [
        2955,
        2987
      ],
      "op": "POP",
      "path": "75"
    },
    "5924": {
      "fn": "ComponentController._persistComponent",
      "offset": [
        2926,
        3146
      ],
      "op": "PUSH2",
      "path": "75",
      "value": "0x749"
    },
    "5927": {
      "fn": "ComponentController._persistComponent",
      "offset": [
        2926,
        3146
      ],
      "op": "JUMP",
      "path": "75"
    },
    "5928": {
      "fn": "ComponentController._persistComponent",
      "offset": [
        2926,
        3146
      ],
      "op": "JUMPDEST",
      "path": "75"
    },
    "5929": {
      "fn": "ComponentController._persistComponent",
      "offset": [
        3008,
        3017
      ],
      "op": "DUP2",
      "path": "75"
    },
    "5930": {
      "op": "PUSH1",
      "value": "0x1"
    },
    "5932": {
      "op": "PUSH1",
      "value": "0x1"
    },
    "5934": {
      "op": "PUSH1",
      "value": "0xA0"
    },
    "5936": {
      "op": "SHL"
    },
    "5937": {
      "op": "SUB"
    },
    "5938": {
      "fn": "ComponentController._persistComponent",
      "offset": [
        3008,
        3026
      ],
      "op": "AND",
      "path": "75"
    },
    "5939": {
      "fn": "ComponentController._persistComponent",
      "offset": [
        3008,
        3026
      ],
      "op": "PUSH4",
      "path": "75",
      "value": "0x9A82F890"
    },
    "5944": {
      "fn": "ComponentController._persistComponent",
      "offset": [
        3008,
        3028
      ],
      "op": "PUSH1",
      "path": "75",
      "value": "0x40"
    },
    "5946": {
      "fn": "ComponentController._persistComponent",
      "offset": [
        3008,
        3028
      ],
      "op": "MLOAD",
      "path": "75"
    },
    "5947": {
      "fn": "ComponentController._persistComponent",
      "offset": [
        3008,
        3028
      ],
      "op": "DUP2",
      "path": "75"
    },
    "5948": {
      "fn": "ComponentController._persistComponent",
      "offset": [
        3008,
        3028
      ],
      "op": "PUSH4",
      "path": "75",
      "value": "0xFFFFFFFF"
    },
    "5953": {
      "fn": "ComponentController._persistComponent",
      "offset": [
        3008,
        3028
      ],
      "op": "AND",
      "path": "75"
    },
    "5954": {
      "fn": "ComponentController._persistComponent",
      "offset": [
        3008,
        3028
      ],
      "op": "PUSH1",
      "path": "75",
      "value": "0xE0"
    },
    "5956": {
      "fn": "ComponentController._persistComponent",
      "offset": [
        3008,
        3028
      ],
      "op": "SHL",
      "path": "75"
    },
    "5957": {
      "fn": "ComponentController._persistComponent",
      "offset": [
        3008,
        3028
      ],
      "op": "DUP2",
      "path": "75"
    },
    "5958": {
      "fn": "ComponentController._persistComponent",
      "offset": [
        3008,
        3028
      ],
      "op": "MSTORE",
      "path": "75"
    },
    "5959": {
      "fn": "ComponentController._persistComponent",
      "offset": [
        3008,
        3028
      ],
      "op": "PUSH1",
      "path": "75",
      "value": "0x4"
    },
    "5961": {
      "fn": "ComponentController._persistComponent",
      "offset": [
        3008,
        3028
      ],
      "op": "ADD",
      "path": "75"
    },
    "5962": {
      "fn": "ComponentController._persistComponent",
      "offset": [
        3008,
        3028
      ],
      "op": "PUSH1",
      "path": "75",
      "value": "0x20"
    },
    "5964": {
      "fn": "ComponentController._persistComponent",
      "offset": [
        3008,
        3028
      ],
      "op": "PUSH1",
      "path": "75",
      "value": "0x40"
    },
    "5966": {
      "fn": "ComponentController._persistComponent",
      "offset": [
        3008,
        3028
      ],
      "op": "MLOAD",
      "path": "75"
    },
    "5967": {
      "fn": "ComponentController._persistComponent",
      "offset": [
        3008,
        3028
      ],
      "op": "DUP1",
      "path": "75"
    },
    "5968": {
      "fn": "ComponentController._persistComponent",
      "offset": [
        3008,
        3028
      ],
      "op": "DUP4",
      "path": "75"
    },
    "5969": {
      "fn": "ComponentController._persistComponent",
      "offset": [
        3008,
        3028
      ],
      "op": "SUB",
      "path": "75"
    },
    "5970": {
      "fn": "ComponentController._persistComponent",
      "offset": [
        3008,
        3028
      ],
      "op": "DUP2",
      "path": "75"
    },
    "5971": {
      "fn": "ComponentController._persistComponent",
      "offset": [
        3008,
        3028
      ],
      "op": "DUP7",
      "path": "75"
    },
    "5972": {
      "fn": "ComponentController._persistComponent",
      "offset": [
        3008,
        3028
      ],
      "op": "DUP1",
      "path": "75"
    },
    "5973": {
      "fn": "ComponentController._persistComponent",
      "offset": [
        3008,
        3028
      ],
      "op": "EXTCODESIZE",
      "path": "75"
    },
    "5974": {
      "fn": "ComponentController._persistComponent",
      "offset": [
        3008,
        3028
      ],
      "op": "ISZERO",
      "path": "75"
    },
    "5975": {
      "fn": "ComponentController._persistComponent",
      "offset": [
        3008,
        3028
      ],
      "op": "DUP1",
      "path": "75"
    },
    "5976": {
      "fn": "ComponentController._persistComponent",
      "offset": [
        3008,
        3028
      ],
      "op": "ISZERO",
      "path": "75"
    },
    "5977": {
      "fn": "ComponentController._persistComponent",
      "offset": [
        3008,
        3028
      ],
      "op": "PUSH2",
      "path": "75",
      "value": "0x1761"
    },
    "5980": {
      "fn": "ComponentController._persistComponent",
      "offset": [
        3008,
        3028
      ],
      "op": "JUMPI",
      "path": "75"
    },
    "5981": {
      "fn": "ComponentController._persistComponent",
      "offset": [
        3008,
        3028
      ],
      "op": "PUSH1",
      "path": "75",
      "value": "0x0"
    },
    "5983": {
      "fn": "ComponentController._persistComponent",
      "offset": [
        3008,
        3028
      ],
      "op": "DUP1",
      "path": "75"
    },
    "5984": {
      "fn": "ComponentController._persistComponent",
      "offset": [
        3008,
        3028
      ],
      "op": "REVERT",
      "path": "75"
    },
    "5985": {
      "fn": "ComponentController._persistComponent",
      "offset": [
        3008,
        3028
      ],
      "op": "JUMPDEST",
      "path": "75"
    },
    "5986": {
      "fn": "ComponentController._persistComponent",
      "offset": [
        3008,
        3028
      ],
      "op": "POP",
      "path": "75"
    },
    "5987": {
      "fn": "ComponentController._persistComponent",
      "offset": [
        3008,
        3028
      ],
      "op": "GAS",
      "path": "75"
    },
    "5988": {
      "fn": "ComponentController._persistComponent",
      "offset": [
        3008,
        3028
      ],
      "op": "STATICCALL",
      "path": "75"
    },
    "5989": {
      "fn": "ComponentController._persistComponent",
      "offset": [
        3008,
        3028
      ],
      "op": "ISZERO",
      "path": "75"
    },
    "5990": {
      "fn": "ComponentController._persistComponent",
      "offset": [
        3008,
        3028
      ],
      "op": "DUP1",
      "path": "75"
    },
    "5991": {
      "fn": "ComponentController._persistComponent",
      "offset": [
        3008,
        3028
      ],
      "op": "ISZERO",
      "path": "75"
    },
    "5992": {
      "fn": "ComponentController._persistComponent",
      "offset": [
        3008,
        3028
      ],
      "op": "PUSH2",
      "path": "75",
      "value": "0x1775"
    },
    "5995": {
      "fn": "ComponentController._persistComponent",
      "offset": [
        3008,
        3028
      ],
      "op": "JUMPI",
      "path": "75"
    },
    "5996": {
      "fn": "ComponentController._persistComponent",
      "offset": [
        3008,
        3028
      ],
      "op": "RETURNDATASIZE",
      "path": "75"
    },
    "5997": {
      "fn": "ComponentController._persistComponent",
      "offset": [
        3008,
        3028
      ],
      "op": "PUSH1",
      "path": "75",
      "value": "0x0"
    },
    "5999": {
      "fn": "ComponentController._persistComponent",
      "offset": [
        3008,
        3028
      ],
      "op": "DUP1",
      "path": "75"
    },
    "6000": {
      "fn": "ComponentController._persistComponent",
      "offset": [
        3008,
        3028
      ],
      "op": "RETURNDATACOPY",
      "path": "75"
    },
    "6001": {
      "fn": "ComponentController._persistComponent",
      "offset": [
        3008,
        3028
      ],
      "op": "RETURNDATASIZE",
      "path": "75"
    },
    "6002": {
      "fn": "ComponentController._persistComponent",
      "offset": [
        3008,
        3028
      ],
      "op": "PUSH1",
      "path": "75",
      "value": "0x0"
    },
    "6004": {
      "fn": "ComponentController._persistComponent",
      "offset": [
        3008,
        3028
      ],
      "op": "REVERT",
      "path": "75"
    },
    "6005": {
      "fn": "ComponentController._persistComponent",
      "offset": [
        3008,
        3028
      ],
      "op": "JUMPDEST",
      "path": "75"
    },
    "6006": {
      "fn": "ComponentController._persistComponent",
      "offset": [
        3008,
        3028
      ],
      "op": "POP",
      "path": "75"
    },
    "6007": {
      "fn": "ComponentController._persistComponent",
      "offset": [
        3008,
        3028
      ],
      "op": "POP",
      "path": "75"
    },
    "6008": {
      "fn": "ComponentController._persistComponent",
      "offset": [
        3008,
        3028
      ],
      "op": "POP",
      "path": "75"
    },
    "6009": {
      "fn": "ComponentController._persistComponent",
      "offset": [
        3008,
        3028
      ],
      "op": "POP",
      "path": "75"
    },
    "6010": {
      "fn": "ComponentController._persistComponent",
      "offset": [
        3008,
        3028
      ],
      "op": "PUSH1",
      "path": "75",
      "value": "0x40"
    },
    "6012": {
      "fn": "ComponentController._persistComponent",
      "offset": [
        3008,
        3028
      ],
      "op": "MLOAD",
      "path": "75"
    },
    "6013": {
      "fn": "ComponentController._persistComponent",
      "offset": [
        3008,
        3028
      ],
      "op": "RETURNDATASIZE",
      "path": "75"
    },
    "6014": {
      "fn": "ComponentController._persistComponent",
      "offset": [
        3008,
        3028
      ],
      "op": "PUSH1",
      "path": "75",
      "value": "0x1F"
    },
    "6016": {
      "fn": "ComponentController._persistComponent",
      "offset": [
        3008,
        3028
      ],
      "op": "NOT",
      "path": "75"
    },
    "6017": {
      "fn": "ComponentController._persistComponent",
      "offset": [
        3008,
        3028
      ],
      "op": "PUSH1",
      "path": "75",
      "value": "0x1F"
    },
    "6019": {
      "fn": "ComponentController._persistComponent",
      "offset": [
        3008,
        3028
      ],
      "op": "DUP3",
      "path": "75"
    },
    "6020": {
      "fn": "ComponentController._persistComponent",
      "offset": [
        3008,
        3028
      ],
      "op": "ADD",
      "path": "75"
    },
    "6021": {
      "fn": "ComponentController._persistComponent",
      "offset": [
        3008,
        3028
      ],
      "op": "AND",
      "path": "75"
    },
    "6022": {
      "fn": "ComponentController._persistComponent",
      "offset": [
        3008,
        3028
      ],
      "op": "DUP3",
      "path": "75"
    },
    "6023": {
      "fn": "ComponentController._persistComponent",
      "offset": [
        3008,
        3028
      ],
      "op": "ADD",
      "path": "75"
    },
    "6024": {
      "fn": "ComponentController._persistComponent",
      "offset": [
        3008,
        3028
      ],
      "op": "DUP1",
      "path": "75"
    },
    "6025": {
      "fn": "ComponentController._persistComponent",
      "offset": [
        3008,
        3028
      ],
      "op": "PUSH1",
      "path": "75",
      "value": "0x40"
    },
    "6027": {
      "fn": "ComponentController._persistComponent",
      "offset": [
        3008,
        3028
      ],
      "op": "MSTORE",
      "path": "75"
    },
    "6028": {
      "fn": "ComponentController._persistComponent",
      "offset": [
        3008,
        3028
      ],
      "op": "POP",
      "path": "75"
    },
    "6029": {
      "fn": "ComponentController._persistComponent",
      "offset": [
        3008,
        3028
      ],
      "op": "DUP2",
      "path": "75"
    },
    "6030": {
      "fn": "ComponentController._persistComponent",
      "offset": [
        3008,
        3028
      ],
      "op": "ADD",
      "path": "75"
    },
    "6031": {
      "fn": "ComponentController._persistComponent",
      "offset": [
        3008,
        3028
      ],
      "op": "SWAP1",
      "path": "75"
    },
    "6032": {
      "fn": "ComponentController._persistComponent",
      "offset": [
        3008,
        3028
      ],
      "op": "PUSH2",
      "path": "75",
      "value": "0x1799"
    },
    "6035": {
      "fn": "ComponentController._persistComponent",
      "offset": [
        3008,
        3028
      ],
      "op": "SWAP2",
      "path": "75"
    },
    "6036": {
      "fn": "ComponentController._persistComponent",
      "offset": [
        3008,
        3028
      ],
      "op": "SWAP1",
      "path": "75"
    },
    "6037": {
      "fn": "ComponentController._persistComponent",
      "offset": [
        3008,
        3028
      ],
      "op": "PUSH2",
      "path": "75",
      "value": "0x1FAD"
    },
    "6040": {
      "fn": "ComponentController._persistComponent",
      "jump": "i",
      "offset": [
        3008,
        3028
      ],
      "op": "JUMP",
      "path": "75"
    },
    "6041": {
      "branch": 108,
      "fn": "ComponentController._persistComponent",
      "offset": [
        3008,
        3028
      ],
      "op": "JUMPDEST",
      "path": "75"
    },
    "6042": {
      "fn": "ComponentController._persistComponent",
      "offset": [
        3004,
        3146
      ],
      "op": "ISZERO",
      "path": "75"
    },
    "6043": {
      "fn": "ComponentController._persistComponent",
      "offset": [
        3004,
        3146
      ],
      "op": "PUSH2",
      "path": "75",
      "value": "0x17A9"
    },
    "6046": {
      "branch": 108,
      "fn": "ComponentController._persistComponent",
      "offset": [
        3004,
        3146
      ],
      "op": "JUMPI",
      "path": "75"
    },
    "6047": {
      "fn": "ComponentController._persistComponent",
      "offset": [
        3032,
        3063
      ],
      "op": "PUSH2",
      "path": "75",
      "statement": 68,
      "value": "0x1722"
    },
    "6050": {
      "fn": "ComponentController._persistComponent",
      "offset": [
        3050,
        3058
      ],
      "op": "PUSH1",
      "path": "75",
      "value": "0x8"
    },
    "6052": {
      "fn": "ComponentController._persistComponent",
      "offset": [
        3060,
        3062
      ],
      "op": "DUP3",
      "path": "75"
    },
    "6053": {
      "fn": "ComponentController._persistComponent",
      "offset": [
        3032,
        3049
      ],
      "op": "PUSH2",
      "path": "75",
      "value": "0x196A"
    },
    "6056": {
      "fn": "ComponentController._persistComponent",
      "jump": "i",
      "offset": [
        3032,
        3063
      ],
      "op": "JUMP",
      "path": "75"
    },
    "6057": {
      "fn": "ComponentController._persistComponent",
      "offset": [
        3004,
        3146
      ],
      "op": "JUMPDEST",
      "path": "75"
    },
    "6058": {
      "fn": "ComponentController._persistComponent",
      "offset": [
        3084,
        3093
      ],
      "op": "DUP2",
      "path": "75"
    },
    "6059": {
      "op": "PUSH1",
      "value": "0x1"
    },
    "6061": {
      "op": "PUSH1",
      "value": "0x1"
    },
    "6063": {
      "op": "PUSH1",
      "value": "0xA0"
    },
    "6065": {
      "op": "SHL"
    },
    "6066": {
      "op": "SUB"
    },
    "6067": {
      "fn": "ComponentController._persistComponent",
      "offset": [
        3084,
        3104
      ],
      "op": "AND",
      "path": "75"
    },
    "6068": {
      "fn": "ComponentController._persistComponent",
      "offset": [
        3084,
        3104
      ],
      "op": "PUSH4",
      "path": "75",
      "value": "0x258D560C"
    },
    "6073": {
      "fn": "ComponentController._persistComponent",
      "offset": [
        3084,
        3106
      ],
      "op": "PUSH1",
      "path": "75",
      "value": "0x40"
    },
    "6075": {
      "fn": "ComponentController._persistComponent",
      "offset": [
        3084,
        3106
      ],
      "op": "MLOAD",
      "path": "75"
    },
    "6076": {
      "fn": "ComponentController._persistComponent",
      "offset": [
        3084,
        3106
      ],
      "op": "DUP2",
      "path": "75"
    },
    "6077": {
      "fn": "ComponentController._persistComponent",
      "offset": [
        3084,
        3106
      ],
      "op": "PUSH4",
      "path": "75",
      "value": "0xFFFFFFFF"
    },
    "6082": {
      "fn": "ComponentController._persistComponent",
      "offset": [
        3084,
        3106
      ],
      "op": "AND",
      "path": "75"
    },
    "6083": {
      "fn": "ComponentController._persistComponent",
      "offset": [
        3084,
        3106
      ],
      "op": "PUSH1",
      "path": "75",
      "value": "0xE0"
    },
    "6085": {
      "fn": "ComponentController._persistComponent",
      "offset": [
        3084,
        3106
      ],
      "op": "SHL",
      "path": "75"
    },
    "6086": {
      "fn": "ComponentController._persistComponent",
      "offset": [
        3084,
        3106
      ],
      "op": "DUP2",
      "path": "75"
    },
    "6087": {
      "fn": "ComponentController._persistComponent",
      "offset": [
        3084,
        3106
      ],
      "op": "MSTORE",
      "path": "75"
    },
    "6088": {
      "fn": "ComponentController._persistComponent",
      "offset": [
        3084,
        3106
      ],
      "op": "PUSH1",
      "path": "75",
      "value": "0x4"
    },
    "6090": {
      "fn": "ComponentController._persistComponent",
      "offset": [
        3084,
        3106
      ],
      "op": "ADD",
      "path": "75"
    },
    "6091": {
      "fn": "ComponentController._persistComponent",
      "offset": [
        3084,
        3106
      ],
      "op": "PUSH1",
      "path": "75",
      "value": "0x20"
    },
    "6093": {
      "fn": "ComponentController._persistComponent",
      "offset": [
        3084,
        3106
      ],
      "op": "PUSH1",
      "path": "75",
      "value": "0x40"
    },
    "6095": {
      "fn": "ComponentController._persistComponent",
      "offset": [
        3084,
        3106
      ],
      "op": "MLOAD",
      "path": "75"
    },
    "6096": {
      "fn": "ComponentController._persistComponent",
      "offset": [
        3084,
        3106
      ],
      "op": "DUP1",
      "path": "75"
    },
    "6097": {
      "fn": "ComponentController._persistComponent",
      "offset": [
        3084,
        3106
      ],
      "op": "DUP4",
      "path": "75"
    },
    "6098": {
      "fn": "ComponentController._persistComponent",
      "offset": [
        3084,
        3106
      ],
      "op": "SUB",
      "path": "75"
    },
    "6099": {
      "fn": "ComponentController._persistComponent",
      "offset": [
        3084,
        3106
      ],
      "op": "DUP2",
      "path": "75"
    },
    "6100": {
      "fn": "ComponentController._persistComponent",
      "offset": [
        3084,
        3106
      ],
      "op": "DUP7",
      "path": "75"
    },
    "6101": {
      "fn": "ComponentController._persistComponent",
      "offset": [
        3084,
        3106
      ],
      "op": "DUP1",
      "path": "75"
    },
    "6102": {
      "fn": "ComponentController._persistComponent",
      "offset": [
        3084,
        3106
      ],
      "op": "EXTCODESIZE",
      "path": "75"
    },
    "6103": {
      "fn": "ComponentController._persistComponent",
      "offset": [
        3084,
        3106
      ],
      "op": "ISZERO",
      "path": "75"
    },
    "6104": {
      "fn": "ComponentController._persistComponent",
      "offset": [
        3084,
        3106
      ],
      "op": "DUP1",
      "path": "75"
    },
    "6105": {
      "fn": "ComponentController._persistComponent",
      "offset": [
        3084,
        3106
      ],
      "op": "ISZERO",
      "path": "75"
    },
    "6106": {
      "fn": "ComponentController._persistComponent",
      "offset": [
        3084,
        3106
      ],
      "op": "PUSH2",
      "path": "75",
      "value": "0x17E2"
    },
    "6109": {
      "fn": "ComponentController._persistComponent",
      "offset": [
        3084,
        3106
      ],
      "op": "JUMPI",
      "path": "75"
    },
    "6110": {
      "fn": "ComponentController._persistComponent",
      "offset": [
        3084,
        3106
      ],
      "op": "PUSH1",
      "path": "75",
      "value": "0x0"
    },
    "6112": {
      "fn": "ComponentController._persistComponent",
      "offset": [
        3084,
        3106
      ],
      "op": "DUP1",
      "path": "75"
    },
    "6113": {
      "fn": "ComponentController._persistComponent",
      "offset": [
        3084,
        3106
      ],
      "op": "REVERT",
      "path": "75"
    },
    "6114": {
      "fn": "ComponentController._persistComponent",
      "offset": [
        3084,
        3106
      ],
      "op": "JUMPDEST",
      "path": "75"
    },
    "6115": {
      "fn": "ComponentController._persistComponent",
      "offset": [
        3084,
        3106
      ],
      "op": "POP",
      "path": "75"
    },
    "6116": {
      "fn": "ComponentController._persistComponent",
      "offset": [
        3084,
        3106
      ],
      "op": "GAS",
      "path": "75"
    },
    "6117": {
      "fn": "ComponentController._persistComponent",
      "offset": [
        3084,
        3106
      ],
      "op": "STATICCALL",
      "path": "75"
    },
    "6118": {
      "fn": "ComponentController._persistComponent",
      "offset": [
        3084,
        3106
      ],
      "op": "ISZERO",
      "path": "75"
    },
    "6119": {
      "fn": "ComponentController._persistComponent",
      "offset": [
        3084,
        3106
      ],
      "op": "DUP1",
      "path": "75"
    },
    "6120": {
      "fn": "ComponentController._persistComponent",
      "offset": [
        3084,
        3106
      ],
      "op": "ISZERO",
      "path": "75"
    },
    "6121": {
      "fn": "ComponentController._persistComponent",
      "offset": [
        3084,
        3106
      ],
      "op": "PUSH2",
      "path": "75",
      "value": "0x17F6"
    },
    "6124": {
      "fn": "ComponentController._persistComponent",
      "offset": [
        3084,
        3106
      ],
      "op": "JUMPI",
      "path": "75"
    },
    "6125": {
      "fn": "ComponentController._persistComponent",
      "offset": [
        3084,
        3106
      ],
      "op": "RETURNDATASIZE",
      "path": "75"
    },
    "6126": {
      "fn": "ComponentController._persistComponent",
      "offset": [
        3084,
        3106
      ],
      "op": "PUSH1",
      "path": "75",
      "value": "0x0"
    },
    "6128": {
      "fn": "ComponentController._persistComponent",
      "offset": [
        3084,
        3106
      ],
      "op": "DUP1",
      "path": "75"
    },
    "6129": {
      "fn": "ComponentController._persistComponent",
      "offset": [
        3084,
        3106
      ],
      "op": "RETURNDATACOPY",
      "path": "75"
    },
    "6130": {
      "fn": "ComponentController._persistComponent",
      "offset": [
        3084,
        3106
      ],
      "op": "RETURNDATASIZE",
      "path": "75"
    },
    "6131": {
      "fn": "ComponentController._persistComponent",
      "offset": [
        3084,
        3106
      ],
      "op": "PUSH1",
      "path": "75",
      "value": "0x0"
    },
    "6133": {
      "fn": "ComponentController._persistComponent",
      "offset": [
        3084,
        3106
      ],
      "op": "REVERT",
      "path": "75"
    },
    "6134": {
      "fn": "ComponentController._persistComponent",
      "offset": [
        3084,
        3106
      ],
      "op": "JUMPDEST",
      "path": "75"
    },
    "6135": {
      "fn": "ComponentController._persistComponent",
      "offset": [
        3084,
        3106
      ],
      "op": "POP",
      "path": "75"
    },
    "6136": {
      "fn": "ComponentController._persistComponent",
      "offset": [
        3084,
        3106
      ],
      "op": "POP",
      "path": "75"
    },
    "6137": {
      "fn": "ComponentController._persistComponent",
      "offset": [
        3084,
        3106
      ],
      "op": "POP",
      "path": "75"
    },
    "6138": {
      "fn": "ComponentController._persistComponent",
      "offset": [
        3084,
        3106
      ],
      "op": "POP",
      "path": "75"
    },
    "6139": {
      "fn": "ComponentController._persistComponent",
      "offset": [
        3084,
        3106
      ],
      "op": "PUSH1",
      "path": "75",
      "value": "0x40"
    },
    "6141": {
      "fn": "ComponentController._persistComponent",
      "offset": [
        3084,
        3106
      ],
      "op": "MLOAD",
      "path": "75"
    },
    "6142": {
      "fn": "ComponentController._persistComponent",
      "offset": [
        3084,
        3106
      ],
      "op": "RETURNDATASIZE",
      "path": "75"
    },
    "6143": {
      "fn": "ComponentController._persistComponent",
      "offset": [
        3084,
        3106
      ],
      "op": "PUSH1",
      "path": "75",
      "value": "0x1F"
    },
    "6145": {
      "fn": "ComponentController._persistComponent",
      "offset": [
        3084,
        3106
      ],
      "op": "NOT",
      "path": "75"
    },
    "6146": {
      "fn": "ComponentController._persistComponent",
      "offset": [
        3084,
        3106
      ],
      "op": "PUSH1",
      "path": "75",
      "value": "0x1F"
    },
    "6148": {
      "fn": "ComponentController._persistComponent",
      "offset": [
        3084,
        3106
      ],
      "op": "DUP3",
      "path": "75"
    },
    "6149": {
      "fn": "ComponentController._persistComponent",
      "offset": [
        3084,
        3106
      ],
      "op": "ADD",
      "path": "75"
    },
    "6150": {
      "fn": "ComponentController._persistComponent",
      "offset": [
        3084,
        3106
      ],
      "op": "AND",
      "path": "75"
    },
    "6151": {
      "fn": "ComponentController._persistComponent",
      "offset": [
        3084,
        3106
      ],
      "op": "DUP3",
      "path": "75"
    },
    "6152": {
      "fn": "ComponentController._persistComponent",
      "offset": [
        3084,
        3106
      ],
      "op": "ADD",
      "path": "75"
    },
    "6153": {
      "fn": "ComponentController._persistComponent",
      "offset": [
        3084,
        3106
      ],
      "op": "DUP1",
      "path": "75"
    },
    "6154": {
      "fn": "ComponentController._persistComponent",
      "offset": [
        3084,
        3106
      ],
      "op": "PUSH1",
      "path": "75",
      "value": "0x40"
    },
    "6156": {
      "fn": "ComponentController._persistComponent",
      "offset": [
        3084,
        3106
      ],
      "op": "MSTORE",
      "path": "75"
    },
    "6157": {
      "fn": "ComponentController._persistComponent",
      "offset": [
        3084,
        3106
      ],
      "op": "POP",
      "path": "75"
    },
    "6158": {
      "fn": "ComponentController._persistComponent",
      "offset": [
        3084,
        3106
      ],
      "op": "DUP2",
      "path": "75"
    },
    "6159": {
      "fn": "ComponentController._persistComponent",
      "offset": [
        3084,
        3106
      ],
      "op": "ADD",
      "path": "75"
    },
    "6160": {
      "fn": "ComponentController._persistComponent",
      "offset": [
        3084,
        3106
      ],
      "op": "SWAP1",
      "path": "75"
    },
    "6161": {
      "fn": "ComponentController._persistComponent",
      "offset": [
        3084,
        3106
      ],
      "op": "PUSH2",
      "path": "75",
      "value": "0x181A"
    },
    "6164": {
      "fn": "ComponentController._persistComponent",
      "offset": [
        3084,
        3106
      ],
      "op": "SWAP2",
      "path": "75"
    },
    "6165": {
      "fn": "ComponentController._persistComponent",
      "offset": [
        3084,
        3106
      ],
      "op": "SWAP1",
      "path": "75"
    },
    "6166": {
      "fn": "ComponentController._persistComponent",
      "offset": [
        3084,
        3106
      ],
      "op": "PUSH2",
      "path": "75",
      "value": "0x1FAD"
    },
    "6169": {
      "fn": "ComponentController._persistComponent",
      "jump": "i",
      "offset": [
        3084,
        3106
      ],
      "op": "JUMP",
      "path": "75"
    },
    "6170": {
      "branch": 109,
      "fn": "ComponentController._persistComponent",
      "offset": [
        3084,
        3106
      ],
      "op": "JUMPDEST",
      "path": "75"
    },
    "6171": {
      "fn": "ComponentController._persistComponent",
      "offset": [
        3080,
        3146
      ],
      "op": "ISZERO",
      "path": "75"
    },
    "6172": {
      "fn": "ComponentController._persistComponent",
      "offset": [
        3080,
        3146
      ],
      "op": "PUSH2",
      "path": "75",
      "value": "0x749"
    },
    "6175": {
      "branch": 109,
      "fn": "ComponentController._persistComponent",
      "offset": [
        3080,
        3146
      ],
      "op": "JUMPI",
      "path": "75"
    },
    "6176": {
      "fn": "ComponentController._persistComponent",
      "offset": [
        3110,
        3143
      ],
      "op": "PUSH2",
      "path": "75",
      "statement": 69,
      "value": "0x182A"
    },
    "6179": {
      "fn": "ComponentController._persistComponent",
      "offset": [
        3128,
        3138
      ],
      "op": "PUSH1",
      "path": "75",
      "value": "0xA"
    },
    "6181": {
      "fn": "ComponentController._persistComponent",
      "offset": [
        3140,
        3142
      ],
      "op": "DUP3",
      "path": "75"
    },
    "6182": {
      "fn": "ComponentController._persistComponent",
      "offset": [
        3110,
        3127
      ],
      "op": "PUSH2",
      "path": "75",
      "value": "0x196A"
    },
    "6185": {
      "fn": "ComponentController._persistComponent",
      "jump": "i",
      "offset": [
        3110,
        3143
      ],
      "op": "JUMP",
      "path": "75"
    },
    "6186": {
      "fn": "ComponentController._persistComponent",
      "offset": [
        3110,
        3143
      ],
      "op": "JUMPDEST",
      "path": "75"
    },
    "6187": {
      "fn": "ComponentController._persistComponent",
      "offset": [
        3110,
        3143
      ],
      "op": "POP",
      "path": "75"
    },
    "6188": {
      "fn": "ComponentController._persistComponent",
      "offset": [
        2367,
        3152
      ],
      "op": "SWAP2",
      "path": "75"
    },
    "6189": {
      "fn": "ComponentController._persistComponent",
      "offset": [
        2367,
        3152
      ],
      "op": "SWAP1",
      "path": "75"
    },
    "6190": {
      "fn": "ComponentController._persistComponent",
      "offset": [
        2367,
        3152
      ],
      "op": "POP",
      "path": "75"
    },
    "6191": {
      "fn": "ComponentController._persistComponent",
      "jump": "o",
      "offset": [
        2367,
        3152
      ],
      "op": "JUMP",
      "path": "75"
    },
    "6192": {
      "fn": "EnumerableSet.contains",
      "offset": [
        11029,
        11173
      ],
      "op": "JUMPDEST",
      "path": "27"
    },
    "6193": {
      "fn": "EnumerableSet.contains",
      "offset": [
        11106,
        11110
      ],
      "op": "PUSH1",
      "path": "27",
      "value": "0x0"
    },
    "6195": {
      "fn": "EnumerableSet._contains",
      "offset": [
        4250,
        4269
      ],
      "op": "DUP2",
      "path": "27",
      "statement": 70
    },
    "6196": {
      "fn": "EnumerableSet._contains",
      "offset": [
        4250,
        4269
      ],
      "op": "DUP2",
      "path": "27"
    },
    "6197": {
      "fn": "EnumerableSet._contains",
      "offset": [
        4250,
        4269
      ],
      "op": "MSTORE",
      "path": "27"
    },
    "6198": {
      "fn": "EnumerableSet._contains",
      "offset": [
        4250,
        4262
      ],
      "op": "PUSH1",
      "path": "27",
      "value": "0x1"
    },
    "6200": {
      "fn": "EnumerableSet._contains",
      "offset": [
        4250,
        4262
      ],
      "op": "DUP4",
      "path": "27"
    },
    "6201": {
      "fn": "EnumerableSet._contains",
      "offset": [
        4250,
        4262
      ],
      "op": "ADD",
      "path": "27"
    },
    "6202": {
      "fn": "EnumerableSet._contains",
      "offset": [
        4250,
        4269
      ],
      "op": "PUSH1",
      "path": "27",
      "value": "0x20"
    },
    "6204": {
      "fn": "EnumerableSet._contains",
      "offset": [
        4250,
        4269
      ],
      "op": "MSTORE",
      "path": "27"
    },
    "6205": {
      "fn": "EnumerableSet._contains",
      "offset": [
        4250,
        4269
      ],
      "op": "PUSH1",
      "path": "27",
      "value": "0x40"
    },
    "6207": {
      "fn": "EnumerableSet._contains",
      "offset": [
        4250,
        4269
      ],
      "op": "DUP2",
      "path": "27"
    },
    "6208": {
      "fn": "EnumerableSet._contains",
      "offset": [
        4250,
        4269
      ],
      "op": "KECCAK256",
      "path": "27"
    },
    "6209": {
      "fn": "EnumerableSet._contains",
      "offset": [
        4250,
        4269
      ],
      "op": "SLOAD",
      "path": "27"
    },
    "6210": {
      "fn": "EnumerableSet._contains",
      "offset": [
        4250,
        4274
      ],
      "op": "ISZERO",
      "path": "27"
    },
    "6211": {
      "fn": "EnumerableSet._contains",
      "offset": [
        4250,
        4274
      ],
      "op": "ISZERO",
      "path": "27"
    },
    "6212": {
      "fn": "EnumerableSet.contains",
      "offset": [
        11129,
        11166
      ],
      "op": "JUMPDEST",
      "path": "27",
      "statement": 71
    },
    "6213": {
      "fn": "EnumerableSet.contains",
      "offset": [
        11122,
        11166
      ],
      "op": "SWAP1",
      "path": "27"
    },
    "6214": {
      "fn": "EnumerableSet.contains",
      "offset": [
        11122,
        11166
      ],
      "op": "POP",
      "path": "27"
    },
    "6215": {
      "fn": "EnumerableSet.contains",
      "offset": [
        11029,
        11173
      ],
      "op": "JUMPDEST",
      "path": "27"
    },
    "6216": {
      "fn": "EnumerableSet.contains",
      "offset": [
        11029,
        11173
      ],
      "op": "SWAP3",
      "path": "27"
    },
    "6217": {
      "fn": "EnumerableSet.contains",
      "offset": [
        11029,
        11173
      ],
      "op": "SWAP2",
      "path": "27"
    },
    "6218": {
      "fn": "EnumerableSet.contains",
      "offset": [
        11029,
        11173
      ],
      "op": "POP",
      "path": "27"
    },
    "6219": {
      "fn": "EnumerableSet.contains",
      "offset": [
        11029,
        11173
      ],
      "op": "POP",
      "path": "27"
    },
    "6220": {
      "fn": "EnumerableSet.contains",
      "jump": "o",
      "offset": [
        11029,
        11173
      ],
      "op": "JUMP",
      "path": "27"
    },
    "6221": {
      "fn": "ComponentController._changeState",
      "offset": [
        9298,
        9701
      ],
      "op": "JUMPDEST",
      "path": "75"
    },
    "6222": {
      "fn": "ComponentController._changeState",
      "offset": [
        9396,
        9430
      ],
      "op": "PUSH1",
      "path": "75",
      "value": "0x0"
    },
    "6224": {
      "fn": "ComponentController._changeState",
      "offset": [
        9433,
        9461
      ],
      "op": "DUP3",
      "path": "75"
    },
    "6225": {
      "fn": "ComponentController._changeState",
      "offset": [
        9433,
        9461
      ],
      "op": "DUP2",
      "path": "75"
    },
    "6226": {
      "fn": "ComponentController._changeState",
      "offset": [
        9433,
        9461
      ],
      "op": "MSTORE",
      "path": "75"
    },
    "6227": {
      "fn": "ComponentController._changeState",
      "offset": [
        9433,
        9448
      ],
      "op": "PUSH1",
      "path": "75",
      "value": "0x5"
    },
    "6229": {
      "fn": "ComponentController._changeState",
      "offset": [
        9433,
        9461
      ],
      "op": "PUSH1",
      "path": "75",
      "value": "0x20"
    },
    "6231": {
      "fn": "ComponentController._changeState",
      "offset": [
        9433,
        9461
      ],
      "op": "MSTORE",
      "path": "75"
    },
    "6232": {
      "fn": "ComponentController._changeState",
      "offset": [
        9433,
        9461
      ],
      "op": "PUSH1",
      "path": "75",
      "value": "0x40"
    },
    "6234": {
      "fn": "ComponentController._changeState",
      "offset": [
        9433,
        9461
      ],
      "op": "SWAP1",
      "path": "75"
    },
    "6235": {
      "fn": "ComponentController._changeState",
      "offset": [
        9433,
        9461
      ],
      "op": "KECCAK256",
      "path": "75"
    },
    "6236": {
      "fn": "ComponentController._changeState",
      "offset": [
        9433,
        9461
      ],
      "op": "SLOAD",
      "path": "75"
    },
    "6237": {
      "fn": "ComponentController._changeState",
      "offset": [
        9433,
        9461
      ],
      "op": "PUSH1",
      "path": "75",
      "value": "0xFF"
    },
    "6239": {
      "fn": "ComponentController._changeState",
      "offset": [
        9433,
        9461
      ],
      "op": "AND",
      "path": "75"
    },
    "6240": {
      "fn": "ComponentController._changeState",
      "offset": [
        9472,
        9513
      ],
      "op": "PUSH2",
      "path": "75",
      "statement": 72,
      "value": "0x1869"
    },
    "6243": {
      "fn": "ComponentController._changeState",
      "offset": [
        9433,
        9461
      ],
      "op": "DUP2",
      "path": "75"
    },
    "6244": {
      "fn": "ComponentController._changeState",
      "offset": [
        9504,
        9512
      ],
      "op": "DUP4",
      "path": "75"
    },
    "6245": {
      "fn": "ComponentController._changeState",
      "offset": [
        9472,
        9493
      ],
      "op": "PUSH2",
      "path": "75",
      "value": "0x1976"
    },
    "6248": {
      "fn": "ComponentController._changeState",
      "jump": "i",
      "offset": [
        9472,
        9513
      ],
      "op": "JUMP",
      "path": "75"
    },
    "6249": {
      "fn": "ComponentController._changeState",
      "offset": [
        9472,
        9513
      ],
      "op": "JUMPDEST",
      "path": "75"
    },
    "6250": {
      "fn": "ComponentController._changeState",
      "offset": [
        9523,
        9551
      ],
      "op": "PUSH1",
      "path": "75",
      "statement": 73,
      "value": "0x0"
    },
    "6252": {
      "fn": "ComponentController._changeState",
      "offset": [
        9523,
        9551
      ],
      "op": "DUP4",
      "path": "75"
    },
    "6253": {
      "fn": "ComponentController._changeState",
      "offset": [
        9523,
        9551
      ],
      "op": "DUP2",
      "path": "75"
    },
    "6254": {
      "fn": "ComponentController._changeState",
      "offset": [
        9523,
        9551
      ],
      "op": "MSTORE",
      "path": "75"
    },
    "6255": {
      "fn": "ComponentController._changeState",
      "offset": [
        9523,
        9538
      ],
      "op": "PUSH1",
      "path": "75",
      "value": "0x5"
    },
    "6257": {
      "fn": "ComponentController._changeState",
      "offset": [
        9523,
        9551
      ],
      "op": "PUSH1",
      "path": "75",
      "value": "0x20"
    },
    "6259": {
      "fn": "ComponentController._changeState",
      "offset": [
        9523,
        9551
      ],
      "op": "MSTORE",
      "path": "75"
    },
    "6260": {
      "fn": "ComponentController._changeState",
      "offset": [
        9523,
        9551
      ],
      "op": "PUSH1",
      "path": "75",
      "value": "0x40"
    },
    "6262": {
      "fn": "ComponentController._changeState",
      "offset": [
        9523,
        9551
      ],
      "op": "SWAP1",
      "path": "75"
    },
    "6263": {
      "fn": "ComponentController._changeState",
      "offset": [
        9523,
        9551
      ],
      "op": "KECCAK256",
      "path": "75"
    },
    "6264": {
      "fn": "ComponentController._changeState",
      "offset": [
        9523,
        9562
      ],
      "op": "DUP1",
      "path": "75"
    },
    "6265": {
      "fn": "ComponentController._changeState",
      "offset": [
        9523,
        9562
      ],
      "op": "SLOAD",
      "path": "75"
    },
    "6266": {
      "fn": "ComponentController._changeState",
      "offset": [
        9554,
        9562
      ],
      "op": "DUP4",
      "path": "75"
    },
    "6267": {
      "fn": "ComponentController._changeState",
      "offset": [
        9554,
        9562
      ],
      "op": "SWAP2",
      "path": "75"
    },
    "6268": {
      "fn": "ComponentController._changeState",
      "offset": [
        9523,
        9551
      ],
      "op": "SWAP1",
      "path": "75"
    },
    "6269": {
      "op": "PUSH1",
      "value": "0xFF"
    },
    "6271": {
      "op": "NOT"
    },
    "6272": {
      "fn": "ComponentController._changeState",
      "offset": [
        9523,
        9562
      ],
      "op": "AND",
      "path": "75"
    },
    "6273": {
      "fn": "ComponentController._changeState",
      "offset": [
        9523,
        9562
      ],
      "op": "PUSH1",
      "path": "75",
      "value": "0x1"
    },
    "6275": {
      "fn": "ComponentController._changeState",
      "offset": [
        9554,
        9562
      ],
      "op": "DUP4",
      "path": "75"
    },
    "6276": {
      "fn": "ComponentController._changeState",
      "offset": [
        9523,
        9562
      ],
      "op": "PUSH1",
      "path": "75",
      "value": "0x6"
    },
    "6278": {
      "fn": "ComponentController._changeState",
      "offset": [
        9523,
        9562
      ],
      "op": "DUP2",
      "path": "75"
    },
    "6279": {
      "fn": "ComponentController._changeState",
      "offset": [
        9523,
        9562
      ],
      "op": "GT",
      "path": "75"
    },
    "6280": {
      "fn": "ComponentController._changeState",
      "offset": [
        9523,
        9562
      ],
      "op": "ISZERO",
      "path": "75"
    },
    "6281": {
      "fn": "ComponentController._changeState",
      "offset": [
        9523,
        9562
      ],
      "op": "PUSH2",
      "path": "75",
      "value": "0x18A2"
    },
    "6284": {
      "fn": "ComponentController._changeState",
      "offset": [
        9523,
        9562
      ],
      "op": "JUMPI",
      "path": "75"
    },
    "6285": {
      "op": "PUSH4",
      "value": "0x4E487B71"
    },
    "6290": {
      "op": "PUSH1",
      "value": "0xE0"
    },
    "6292": {
      "op": "SHL"
    },
    "6293": {
      "fn": "ComponentController._changeState",
      "offset": [
        9523,
        9562
      ],
      "op": "PUSH1",
      "path": "75",
      "value": "0x0"
    },
    "6295": {
      "fn": "ComponentController._changeState",
      "offset": [
        9523,
        9562
      ],
      "op": "MSTORE",
      "path": "75"
    },
    "6296": {
      "fn": "ComponentController._changeState",
      "offset": [
        9523,
        9562
      ],
      "op": "PUSH1",
      "path": "75",
      "value": "0x21"
    },
    "6298": {
      "fn": "ComponentController._changeState",
      "offset": [
        9523,
        9562
      ],
      "op": "PUSH1",
      "path": "75",
      "value": "0x4"
    },
    "6300": {
      "fn": "ComponentController._changeState",
      "offset": [
        9523,
        9562
      ],
      "op": "MSTORE",
      "path": "75"
    },
    "6301": {
      "fn": "ComponentController._changeState",
      "offset": [
        9523,
        9562
      ],
      "op": "PUSH1",
      "path": "75",
      "value": "0x24"
    },
    "6303": {
      "fn": "ComponentController._changeState",
      "offset": [
        9523,
        9562
      ],
      "op": "PUSH1",
      "path": "75",
      "value": "0x0"
    },
    "6305": {
      "fn": "ComponentController._changeState",
      "offset": [
        9523,
        9562
      ],
      "op": "REVERT",
      "path": "75"
    },
    "6306": {
      "fn": "ComponentController._changeState",
      "offset": [
        9523,
        9562
      ],
      "op": "JUMPDEST",
      "path": "75"
    },
    "6307": {
      "fn": "ComponentController._changeState",
      "offset": [
        9523,
        9562
      ],
      "op": "MUL",
      "path": "75"
    },
    "6308": {
      "fn": "ComponentController._changeState",
      "offset": [
        9523,
        9562
      ],
      "op": "OR",
      "path": "75"
    },
    "6309": {
      "fn": "ComponentController._changeState",
      "offset": [
        9523,
        9562
      ],
      "op": "SWAP1",
      "path": "75"
    },
    "6310": {
      "fn": "ComponentController._changeState",
      "offset": [
        9523,
        9562
      ],
      "op": "SSTORE",
      "path": "75"
    },
    "6311": {
      "fn": "ComponentController._changeState",
      "offset": [
        9523,
        9562
      ],
      "op": "POP",
      "path": "75"
    },
    "6312": {
      "fn": "ComponentController._changeState",
      "offset": [
        9637,
        9694
      ],
      "op": "PUSH32",
      "path": "75",
      "statement": 74,
      "value": "0xD2248D3E400F6333D5DE6D43446115557CB942E75002AA7AD26F9CAC9B105B1A"
    },
    "6345": {
      "fn": "ComponentController._changeState",
      "offset": [
        9662,
        9673
      ],
      "op": "DUP4",
      "path": "75"
    },
    "6346": {
      "fn": "ComponentController._changeState",
      "offset": [
        9675,
        9683
      ],
      "op": "DUP3",
      "path": "75"
    },
    "6347": {
      "fn": "ComponentController._changeState",
      "offset": [
        9685,
        9693
      ],
      "op": "DUP5",
      "path": "75"
    },
    "6348": {
      "fn": "ComponentController._changeState",
      "offset": [
        9637,
        9694
      ],
      "op": "PUSH1",
      "path": "75",
      "value": "0x40"
    },
    "6350": {
      "fn": "ComponentController._changeState",
      "offset": [
        9637,
        9694
      ],
      "op": "MLOAD",
      "path": "75"
    },
    "6351": {
      "fn": "ComponentController._changeState",
      "offset": [
        9637,
        9694
      ],
      "op": "PUSH2",
      "path": "75",
      "value": "0x18DA"
    },
    "6354": {
      "fn": "ComponentController._changeState",
      "offset": [
        9637,
        9694
      ],
      "op": "SWAP4",
      "path": "75"
    },
    "6355": {
      "fn": "ComponentController._changeState",
      "offset": [
        9637,
        9694
      ],
      "op": "SWAP3",
      "path": "75"
    },
    "6356": {
      "fn": "ComponentController._changeState",
      "offset": [
        9637,
        9694
      ],
      "op": "SWAP2",
      "path": "75"
    },
    "6357": {
      "fn": "ComponentController._changeState",
      "offset": [
        9637,
        9694
      ],
      "op": "SWAP1",
      "path": "75"
    },
    "6358": {
      "fn": "ComponentController._changeState",
      "offset": [
        9637,
        9694
      ],
      "op": "PUSH2",
      "path": "75",
      "value": "0x2138"
    },
    "6361": {
      "fn": "ComponentController._changeState",
      "jump": "i",
      "offset": [
        9637,
        9694
      ],
      "op": "JUMP",
      "path": "75"
    },
    "6362": {
      "fn": "ComponentController._changeState",
      "offset": [
        9637,
        9694
      ],
      "op": "JUMPDEST",
      "path": "75"
    },
    "6363": {
      "fn": "ComponentController._changeState",
      "offset": [
        9637,
        9694
      ],
      "op": "PUSH1",
      "path": "75",
      "value": "0x40"
    },
    "6365": {
      "fn": "ComponentController._changeState",
      "offset": [
        9637,
        9694
      ],
      "op": "MLOAD",
      "path": "75"
    },
    "6366": {
      "fn": "ComponentController._changeState",
      "offset": [
        9637,
        9694
      ],
      "op": "DUP1",
      "path": "75"
    },
    "6367": {
      "fn": "ComponentController._changeState",
      "offset": [
        9637,
        9694
      ],
      "op": "SWAP2",
      "path": "75"
    },
    "6368": {
      "fn": "ComponentController._changeState",
      "offset": [
        9637,
        9694
      ],
      "op": "SUB",
      "path": "75"
    },
    "6369": {
      "fn": "ComponentController._changeState",
      "offset": [
        9637,
        9694
      ],
      "op": "SWAP1",
      "path": "75"
    },
    "6370": {
      "fn": "ComponentController._changeState",
      "offset": [
        9637,
        9694
      ],
      "op": "LOG1",
      "path": "75"
    },
    "6371": {
      "fn": "ComponentController._changeState",
      "offset": [
        9298,
        9701
      ],
      "op": "POP",
      "path": "75"
    },
    "6372": {
      "fn": "ComponentController._changeState",
      "offset": [
        9298,
        9701
      ],
      "op": "POP",
      "path": "75"
    },
    "6373": {
      "fn": "ComponentController._changeState",
      "offset": [
        9298,
        9701
      ],
      "op": "POP",
      "path": "75"
    },
    "6374": {
      "fn": "ComponentController._changeState",
      "jump": "o",
      "offset": [
        9298,
        9701
      ],
      "op": "JUMP",
      "path": "75"
    },
    "6375": {
      "fn": "EnumerableSet.length",
      "offset": [
        11254,
        11366
      ],
      "op": "JUMPDEST",
      "path": "27"
    },
    "6376": {
      "fn": "EnumerableSet.length",
      "offset": [
        11314,
        11321
      ],
      "op": "PUSH1",
      "path": "27",
      "value": "0x0"
    },
    "6378": {
      "fn": "EnumerableSet.length",
      "offset": [
        11340,
        11359
      ],
      "op": "PUSH2",
      "path": "27",
      "statement": 75,
      "value": "0x746"
    },
    "6381": {
      "fn": "EnumerableSet.length",
      "offset": [
        11348,
        11351
      ],
      "op": "DUP3",
      "path": "27"
    },
    "6382": {
      "fn": "EnumerableSet._length",
      "offset": [
        4444,
        4462
      ],
      "op": "SLOAD",
      "path": "27",
      "statement": 76
    },
    "6383": {
      "fn": "EnumerableSet._length",
      "offset": [
        4444,
        4462
      ],
      "op": "SWAP1",
      "path": "27"
    },
    "6384": {
      "fn": "EnumerableSet._length",
      "offset": [
        4362,
        4469
      ],
      "op": "JUMP",
      "path": "27"
    },
    "6385": {
      "fn": "EnumerableSet.at",
      "offset": [
        11708,
        11843
      ],
      "op": "JUMPDEST",
      "path": "27"
    },
    "6386": {
      "fn": "EnumerableSet.at",
      "offset": [
        11779,
        11786
      ],
      "op": "PUSH1",
      "path": "27",
      "value": "0x0"
    },
    "6388": {
      "fn": "EnumerableSet.at",
      "offset": [
        11813,
        11835
      ],
      "op": "PUSH2",
      "path": "27",
      "statement": 77,
      "value": "0x1844"
    },
    "6391": {
      "fn": "EnumerableSet.at",
      "offset": [
        11817,
        11820
      ],
      "op": "DUP4",
      "path": "27"
    },
    "6392": {
      "fn": "EnumerableSet.at",
      "offset": [
        11829,
        11834
      ],
      "op": "DUP4",
      "path": "27"
    },
    "6393": {
      "fn": "EnumerableSet.at",
      "offset": [
        11813,
        11816
      ],
      "op": "PUSH2",
      "path": "27",
      "value": "0x1EE7"
    },
    "6396": {
      "fn": "EnumerableSet.at",
      "jump": "i",
      "offset": [
        11813,
        11835
      ],
      "op": "JUMP",
      "path": "27"
    },
    "6397": {
      "fn": "CoreController._afterInitialize",
      "offset": [
        1460,
        1524
      ],
      "op": "JUMPDEST",
      "path": "88"
    },
    "6398": {
      "offset": [
        4888,
        4901
      ],
      "op": "PUSH1",
      "path": "10",
      "value": "0x0"
    },
    "6400": {
      "fn": "CoreController._afterInitialize",
      "offset": [
        4888,
        4901
      ],
      "op": "SLOAD",
      "path": "10"
    },
    "6401": {
      "fn": "CoreController._afterInitialize",
      "offset": [
        4888,
        4901
      ],
      "op": "PUSH2",
      "path": "10",
      "value": "0x100"
    },
    "6404": {
      "fn": "CoreController._afterInitialize",
      "offset": [
        4888,
        4901
      ],
      "op": "SWAP1",
      "path": "10"
    },
    "6405": {
      "fn": "CoreController._afterInitialize",
      "offset": [
        4888,
        4901
      ],
      "op": "DIV",
      "path": "10"
    },
    "6406": {
      "fn": "CoreController._afterInitialize",
      "offset": [
        4888,
        4901
      ],
      "op": "PUSH1",
      "path": "10",
      "value": "0xFF"
    },
    "6408": {
      "branch": 128,
      "fn": "CoreController._afterInitialize",
      "offset": [
        4888,
        4901
      ],
      "op": "AND",
      "path": "10"
    },
    "6409": {
      "offset": [
        4880,
        4949
      ],
      "op": "PUSH2",
      "path": "10",
      "value": "0x1968"
    },
    "6412": {
      "branch": 128,
      "offset": [
        4880,
        4949
      ],
      "op": "JUMPI",
      "path": "10"
    },
    "6413": {
      "fn": "CoreController._afterInitialize",
      "offset": [
        4880,
        4949
      ],
      "op": "PUSH1",
      "path": "10",
      "value": "0x40"
    },
    "6415": {
      "fn": "CoreController._afterInitialize",
      "offset": [
        4880,
        4949
      ],
      "op": "MLOAD",
      "path": "10"
    },
    "6416": {
      "op": "PUSH3",
      "value": "0x461BCD"
    },
    "6420": {
      "op": "PUSH1",
      "value": "0xE5"
    },
    "6422": {
      "op": "SHL"
    },
    "6423": {
      "offset": [
        4880,
        4949
      ],
      "op": "DUP2",
      "path": "10"
    },
    "6424": {
      "fn": "CoreController._afterInitialize",
      "offset": [
        4880,
        4949
      ],
      "op": "MSTORE",
      "path": "10"
    },
    "6425": {
      "op": "PUSH1",
      "value": "0x20"
    },
    "6427": {
      "offset": [
        4880,
        4949
      ],
      "op": "PUSH1",
      "path": "10",
      "value": "0x4"
    },
    "6429": {
      "fn": "CoreController._afterInitialize",
      "offset": [
        4880,
        4949
      ],
      "op": "DUP3",
      "path": "10"
    },
    "6430": {
      "fn": "CoreController._afterInitialize",
      "offset": [
        4880,
        4949
      ],
      "op": "ADD",
      "path": "10"
    },
    "6431": {
      "op": "MSTORE"
    },
    "6432": {
      "op": "PUSH1",
      "value": "0x2B"
    },
    "6434": {
      "op": "PUSH1",
      "value": "0x24"
    },
    "6436": {
      "op": "DUP3"
    },
    "6437": {
      "op": "ADD"
    },
    "6438": {
      "op": "MSTORE"
    },
    "6439": {
      "op": "PUSH32",
      "value": "0x496E697469616C697A61626C653A20636F6E7472616374206973206E6F742069"
    },
    "6472": {
      "op": "PUSH1",
      "value": "0x44"
    },
    "6474": {
      "op": "DUP3"
    },
    "6475": {
      "op": "ADD"
    },
    "6476": {
      "op": "MSTORE"
    },
    "6477": {
      "op": "PUSH11",
      "value": "0x6E697469616C697A696E67"
    },
    "6489": {
      "op": "PUSH1",
      "value": "0xA8"
    },
    "6491": {
      "op": "SHL"
    },
    "6492": {
      "op": "PUSH1",
      "value": "0x64"
    },
    "6494": {
      "op": "DUP3"
    },
    "6495": {
      "op": "ADD"
    },
    "6496": {
      "op": "MSTORE"
    },
    "6497": {
      "op": "PUSH1",
      "value": "0x84"
    },
    "6499": {
      "op": "ADD"
    },
    "6500": {
      "offset": [
        4880,
        4949
      ],
      "op": "PUSH2",
      "path": "10",
      "value": "0x453"
    },
    "6503": {
      "op": "JUMP"
    },
    "6504": {
      "offset": [
        4880,
        4949
      ],
      "op": "JUMPDEST",
      "path": "10"
    },
    "6505": {
      "fn": "CoreController._afterInitialize",
      "jump": "o",
      "offset": [
        1460,
        1524
      ],
      "op": "JUMP",
      "path": "88"
    },
    "6506": {
      "fn": "EnumerableSet.add",
      "offset": [
        10516,
        10645
      ],
      "op": "JUMPDEST",
      "path": "27"
    },
    "6507": {
      "fn": "EnumerableSet.add",
      "offset": [
        10583,
        10587
      ],
      "op": "PUSH1",
      "path": "27",
      "value": "0x0"
    },
    "6509": {
      "fn": "EnumerableSet.add",
      "offset": [
        10606,
        10638
      ],
      "op": "PUSH2",
      "path": "27",
      "statement": 78,
      "value": "0x1844"
    },
    "6512": {
      "fn": "EnumerableSet.add",
      "offset": [
        10611,
        10614
      ],
      "op": "DUP4",
      "path": "27"
    },
    "6513": {
      "fn": "EnumerableSet.add",
      "offset": [
        10631,
        10636
      ],
      "op": "DUP4",
      "path": "27"
    },
    "6514": {
      "fn": "EnumerableSet.add",
      "offset": [
        10606,
        10610
      ],
      "op": "PUSH2",
      "path": "27",
      "value": "0x1F1F"
    },
    "6517": {
      "fn": "EnumerableSet.add",
      "jump": "i",
      "offset": [
        10606,
        10638
      ],
      "op": "JUMP",
      "path": "27"
    },
    "6518": {
      "fn": "ComponentController._checkStateTransition",
      "offset": [
        9707,
        11452
      ],
      "op": "JUMPDEST",
      "path": "75"
    },
    "6519": {
      "fn": "ComponentController._checkStateTransition",
      "offset": [
        9900,
        9908
      ],
      "op": "DUP2",
      "path": "75",
      "statement": 79
    },
    "6520": {
      "fn": "ComponentController._checkStateTransition",
      "offset": [
        9888,
        9908
      ],
      "op": "PUSH1",
      "path": "75",
      "value": "0x6"
    },
    "6522": {
      "fn": "ComponentController._checkStateTransition",
      "offset": [
        9888,
        9908
      ],
      "op": "DUP2",
      "path": "75"
    },
    "6523": {
      "fn": "ComponentController._checkStateTransition",
      "offset": [
        9888,
        9908
      ],
      "op": "GT",
      "path": "75"
    },
    "6524": {
      "fn": "ComponentController._checkStateTransition",
      "offset": [
        9888,
        9908
      ],
      "op": "ISZERO",
      "path": "75"
    },
    "6525": {
      "fn": "ComponentController._checkStateTransition",
      "offset": [
        9888,
        9908
      ],
      "op": "PUSH2",
      "path": "75",
      "value": "0x1996"
    },
    "6528": {
      "fn": "ComponentController._checkStateTransition",
      "offset": [
        9888,
        9908
      ],
      "op": "JUMPI",
      "path": "75"
    },
    "6529": {
      "op": "PUSH4",
      "value": "0x4E487B71"
    },
    "6534": {
      "op": "PUSH1",
      "value": "0xE0"
    },
    "6536": {
      "op": "SHL"
    },
    "6537": {
      "fn": "ComponentController._checkStateTransition",
      "offset": [
        9888,
        9908
      ],
      "op": "PUSH1",
      "path": "75",
      "value": "0x0"
    },
    "6539": {
      "fn": "ComponentController._checkStateTransition",
      "offset": [
        9888,
        9908
      ],
      "op": "MSTORE",
      "path": "75"
    },
    "6540": {
      "fn": "ComponentController._checkStateTransition",
      "offset": [
        9888,
        9908
      ],
      "op": "PUSH1",
      "path": "75",
      "value": "0x21"
    },
    "6542": {
      "fn": "ComponentController._checkStateTransition",
      "offset": [
        9888,
        9908
      ],
      "op": "PUSH1",
      "path": "75",
      "value": "0x4"
    },
    "6544": {
      "fn": "ComponentController._checkStateTransition",
      "offset": [
        9888,
        9908
      ],
      "op": "MSTORE",
      "path": "75"
    },
    "6545": {
      "fn": "ComponentController._checkStateTransition",
      "offset": [
        9888,
        9908
      ],
      "op": "PUSH1",
      "path": "75",
      "value": "0x24"
    },
    "6547": {
      "fn": "ComponentController._checkStateTransition",
      "offset": [
        9888,
        9908
      ],
      "op": "PUSH1",
      "path": "75",
      "value": "0x0"
    },
    "6549": {
      "fn": "ComponentController._checkStateTransition",
      "offset": [
        9888,
        9908
      ],
      "op": "REVERT",
      "path": "75"
    },
    "6550": {
      "fn": "ComponentController._checkStateTransition",
      "offset": [
        9888,
        9908
      ],
      "op": "JUMPDEST",
      "path": "75"
    },
    "6551": {
      "fn": "ComponentController._checkStateTransition",
      "offset": [
        9888,
        9896
      ],
      "op": "DUP2",
      "path": "75"
    },
    "6552": {
      "fn": "ComponentController._checkStateTransition",
      "offset": [
        9888,
        9908
      ],
      "op": "PUSH1",
      "path": "75",
      "value": "0x6"
    },
    "6554": {
      "fn": "ComponentController._checkStateTransition",
      "offset": [
        9888,
        9908
      ],
      "op": "DUP2",
      "path": "75"
    },
    "6555": {
      "fn": "ComponentController._checkStateTransition",
      "offset": [
        9888,
        9908
      ],
      "op": "GT",
      "path": "75"
    },
    "6556": {
      "fn": "ComponentController._checkStateTransition",
      "offset": [
        9888,
        9908
      ],
      "op": "ISZERO",
      "path": "75"
    },
    "6557": {
      "fn": "ComponentController._checkStateTransition",
      "offset": [
        9888,
        9908
      ],
      "op": "PUSH2",
      "path": "75",
      "value": "0x19B6"
    },
    "6560": {
      "fn": "ComponentController._checkStateTransition",
      "offset": [
        9888,
        9908
      ],
      "op": "JUMPI",
      "path": "75"
    },
    "6561": {
      "op": "PUSH4",
      "value": "0x4E487B71"
    },
    "6566": {
      "op": "PUSH1",
      "value": "0xE0"
    },
    "6568": {
      "op": "SHL"
    },
    "6569": {
      "fn": "ComponentController._checkStateTransition",
      "offset": [
        9888,
        9908
      ],
      "op": "PUSH1",
      "path": "75",
      "value": "0x0"
    },
    "6571": {
      "fn": "ComponentController._checkStateTransition",
      "offset": [
        9888,
        9908
      ],
      "op": "MSTORE",
      "path": "75"
    },
    "6572": {
      "fn": "ComponentController._checkStateTransition",
      "offset": [
        9888,
        9908
      ],
      "op": "PUSH1",
      "path": "75",
      "value": "0x21"
    },
    "6574": {
      "fn": "ComponentController._checkStateTransition",
      "offset": [
        9888,
        9908
      ],
      "op": "PUSH1",
      "path": "75",
      "value": "0x4"
    },
    "6576": {
      "fn": "ComponentController._checkStateTransition",
      "offset": [
        9888,
        9908
      ],
      "op": "MSTORE",
      "path": "75"
    },
    "6577": {
      "fn": "ComponentController._checkStateTransition",
      "offset": [
        9888,
        9908
      ],
      "op": "PUSH1",
      "path": "75",
      "value": "0x24"
    },
    "6579": {
      "fn": "ComponentController._checkStateTransition",
      "offset": [
        9888,
        9908
      ],
      "op": "PUSH1",
      "path": "75",
      "value": "0x0"
    },
    "6581": {
      "fn": "ComponentController._checkStateTransition",
      "offset": [
        9888,
        9908
      ],
      "op": "REVERT",
      "path": "75"
    },
    "6582": {
      "fn": "ComponentController._checkStateTransition",
      "offset": [
        9888,
        9908
      ],
      "op": "JUMPDEST",
      "path": "75"
    },
    "6583": {
      "fn": "ComponentController._checkStateTransition",
      "offset": [
        9888,
        9908
      ],
      "op": "EQ",
      "path": "75"
    },
    "6584": {
      "branch": 110,
      "fn": "ComponentController._checkStateTransition",
      "offset": [
        9888,
        9908
      ],
      "op": "ISZERO",
      "path": "75"
    },
    "6585": {
      "fn": "ComponentController._checkStateTransition",
      "offset": [
        9880,
        9973
      ],
      "op": "PUSH2",
      "path": "75",
      "value": "0x1A1C"
    },
    "6588": {
      "branch": 110,
      "fn": "ComponentController._checkStateTransition",
      "offset": [
        9880,
        9973
      ],
      "op": "JUMPI",
      "path": "75"
    },
    "6589": {
      "fn": "ComponentController._checkStateTransition",
      "offset": [
        9880,
        9973
      ],
      "op": "PUSH1",
      "path": "75",
      "value": "0x40"
    },
    "6591": {
      "fn": "ComponentController._checkStateTransition",
      "offset": [
        9880,
        9973
      ],
      "op": "MLOAD",
      "path": "75"
    },
    "6592": {
      "op": "PUSH3",
      "value": "0x461BCD"
    },
    "6596": {
      "op": "PUSH1",
      "value": "0xE5"
    },
    "6598": {
      "op": "SHL"
    },
    "6599": {
      "fn": "ComponentController._checkStateTransition",
      "offset": [
        9880,
        9973
      ],
      "op": "DUP2",
      "path": "75"
    },
    "6600": {
      "fn": "ComponentController._checkStateTransition",
      "offset": [
        9880,
        9973
      ],
      "op": "MSTORE",
      "path": "75"
    },
    "6601": {
      "op": "PUSH1",
      "value": "0x20"
    },
    "6603": {
      "fn": "ComponentController._checkStateTransition",
      "offset": [
        9880,
        9973
      ],
      "op": "PUSH1",
      "path": "75",
      "value": "0x4"
    },
    "6605": {
      "fn": "ComponentController._checkStateTransition",
      "offset": [
        9880,
        9973
      ],
      "op": "DUP3",
      "path": "75"
    },
    "6606": {
      "fn": "ComponentController._checkStateTransition",
      "offset": [
        9880,
        9973
      ],
      "op": "ADD",
      "path": "75"
    },
    "6607": {
      "op": "MSTORE"
    },
    "6608": {
      "op": "PUSH1",
      "value": "0x2F"
    },
    "6610": {
      "op": "PUSH1",
      "value": "0x24"
    },
    "6612": {
      "op": "DUP3"
    },
    "6613": {
      "op": "ADD"
    },
    "6614": {
      "op": "MSTORE"
    },
    "6615": {
      "op": "PUSH32",
      "value": "0x4552524F523A4343522D3032303A534F555243455F414E445F5441524745545F"
    },
    "6648": {
      "op": "PUSH1",
      "value": "0x44"
    },
    "6650": {
      "op": "DUP3"
    },
    "6651": {
      "op": "ADD"
    },
    "6652": {
      "op": "MSTORE"
    },
    "6653": {
      "op": "PUSH15",
      "value": "0x14D510551157D2511153951250D053"
    },
    "6669": {
      "op": "PUSH1",
      "value": "0x8A"
    },
    "6671": {
      "op": "SHL"
    },
    "6672": {
      "op": "PUSH1",
      "value": "0x64"
    },
    "6674": {
      "op": "DUP3"
    },
    "6675": {
      "op": "ADD"
    },
    "6676": {
      "op": "MSTORE"
    },
    "6677": {
      "op": "PUSH1",
      "value": "0x84"
    },
    "6679": {
      "op": "ADD"
    },
    "6680": {
      "fn": "ComponentController._checkStateTransition",
      "offset": [
        9880,
        9973
      ],
      "op": "PUSH2",
      "path": "75",
      "value": "0x453"
    },
    "6683": {
      "op": "JUMP"
    },
    "6684": {
      "fn": "ComponentController._checkStateTransition",
      "offset": [
        9880,
        9973
      ],
      "op": "JUMPDEST",
      "path": "75"
    },
    "6685": {
      "fn": "ComponentController._checkStateTransition",
      "offset": [
        10008,
        10041
      ],
      "op": "PUSH1",
      "path": "75",
      "value": "0x0"
    },
    "6687": {
      "fn": "ComponentController._checkStateTransition",
      "offset": [
        9996,
        10004
      ],
      "op": "DUP3",
      "path": "75"
    },
    "6688": {
      "fn": "ComponentController._checkStateTransition",
      "offset": [
        9996,
        10041
      ],
      "op": "PUSH1",
      "path": "75",
      "value": "0x6"
    },
    "6690": {
      "fn": "ComponentController._checkStateTransition",
      "offset": [
        9996,
        10041
      ],
      "op": "DUP2",
      "path": "75"
    },
    "6691": {
      "fn": "ComponentController._checkStateTransition",
      "offset": [
        9996,
        10041
      ],
      "op": "GT",
      "path": "75"
    },
    "6692": {
      "fn": "ComponentController._checkStateTransition",
      "offset": [
        9996,
        10041
      ],
      "op": "ISZERO",
      "path": "75"
    },
    "6693": {
      "fn": "ComponentController._checkStateTransition",
      "offset": [
        9996,
        10041
      ],
      "op": "PUSH2",
      "path": "75",
      "value": "0x1A3E"
    },
    "6696": {
      "fn": "ComponentController._checkStateTransition",
      "offset": [
        9996,
        10041
      ],
      "op": "JUMPI",
      "path": "75"
    },
    "6697": {
      "op": "PUSH4",
      "value": "0x4E487B71"
    },
    "6702": {
      "op": "PUSH1",
      "value": "0xE0"
    },
    "6704": {
      "op": "SHL"
    },
    "6705": {
      "fn": "ComponentController._checkStateTransition",
      "offset": [
        9996,
        10041
      ],
      "op": "PUSH1",
      "path": "75",
      "value": "0x0"
    },
    "6707": {
      "fn": "ComponentController._checkStateTransition",
      "offset": [
        9996,
        10041
      ],
      "op": "MSTORE",
      "path": "75"
    },
    "6708": {
      "fn": "ComponentController._checkStateTransition",
      "offset": [
        9996,
        10041
      ],
      "op": "PUSH1",
      "path": "75",
      "value": "0x21"
    },
    "6710": {
      "fn": "ComponentController._checkStateTransition",
      "offset": [
        9996,
        10041
      ],
      "op": "PUSH1",
      "path": "75",
      "value": "0x4"
    },
    "6712": {
      "fn": "ComponentController._checkStateTransition",
      "offset": [
        9996,
        10041
      ],
      "op": "MSTORE",
      "path": "75"
    },
    "6713": {
      "fn": "ComponentController._checkStateTransition",
      "offset": [
        9996,
        10041
      ],
      "op": "PUSH1",
      "path": "75",
      "value": "0x24"
    },
    "6715": {
      "fn": "ComponentController._checkStateTransition",
      "offset": [
        9996,
        10041
      ],
      "op": "PUSH1",
      "path": "75",
      "value": "0x0"
    },
    "6717": {
      "fn": "ComponentController._checkStateTransition",
      "offset": [
        9996,
        10041
      ],
      "op": "REVERT",
      "path": "75"
    },
    "6718": {
      "fn": "ComponentController._checkStateTransition",
      "offset": [
        9996,
        10041
      ],
      "op": "JUMPDEST",
      "path": "75"
    },
    "6719": {
      "branch": 111,
      "fn": "ComponentController._checkStateTransition",
      "offset": [
        9996,
        10041
      ],
      "op": "EQ",
      "path": "75"
    },
    "6720": {
      "fn": "ComponentController._checkStateTransition",
      "offset": [
        9992,
        11446
      ],
      "op": "ISZERO",
      "path": "75"
    },
    "6721": {
      "fn": "ComponentController._checkStateTransition",
      "offset": [
        9992,
        11446
      ],
      "op": "PUSH2",
      "path": "75",
      "value": "0x1AC9"
    },
    "6724": {
      "branch": 111,
      "fn": "ComponentController._checkStateTransition",
      "offset": [
        9992,
        11446
      ],
      "op": "JUMPI",
      "path": "75"
    },
    "6725": {
      "fn": "ComponentController._checkStateTransition",
      "offset": [
        10077,
        10111
      ],
      "op": "PUSH1",
      "path": "75",
      "statement": 80,
      "value": "0x1"
    },
    "6727": {
      "fn": "ComponentController._checkStateTransition",
      "offset": [
        10065,
        10073
      ],
      "op": "DUP2",
      "path": "75"
    },
    "6728": {
      "fn": "ComponentController._checkStateTransition",
      "offset": [
        10065,
        10111
      ],
      "op": "PUSH1",
      "path": "75",
      "value": "0x6"
    },
    "6730": {
      "fn": "ComponentController._checkStateTransition",
      "offset": [
        10065,
        10111
      ],
      "op": "DUP2",
      "path": "75"
    },
    "6731": {
      "fn": "ComponentController._checkStateTransition",
      "offset": [
        10065,
        10111
      ],
      "op": "GT",
      "path": "75"
    },
    "6732": {
      "fn": "ComponentController._checkStateTransition",
      "offset": [
        10065,
        10111
      ],
      "op": "ISZERO",
      "path": "75"
    },
    "6733": {
      "fn": "ComponentController._checkStateTransition",
      "offset": [
        10065,
        10111
      ],
      "op": "PUSH2",
      "path": "75",
      "value": "0x1A66"
    },
    "6736": {
      "fn": "ComponentController._checkStateTransition",
      "offset": [
        10065,
        10111
      ],
      "op": "JUMPI",
      "path": "75"
    },
    "6737": {
      "op": "PUSH4",
      "value": "0x4E487B71"
    },
    "6742": {
      "op": "PUSH1",
      "value": "0xE0"
    },
    "6744": {
      "op": "SHL"
    },
    "6745": {
      "fn": "ComponentController._checkStateTransition",
      "offset": [
        10065,
        10111
      ],
      "op": "PUSH1",
      "path": "75",
      "value": "0x0"
    },
    "6747": {
      "fn": "ComponentController._checkStateTransition",
      "offset": [
        10065,
        10111
      ],
      "op": "MSTORE",
      "path": "75"
    },
    "6748": {
      "fn": "ComponentController._checkStateTransition",
      "offset": [
        10065,
        10111
      ],
      "op": "PUSH1",
      "path": "75",
      "value": "0x21"
    },
    "6750": {
      "fn": "ComponentController._checkStateTransition",
      "offset": [
        10065,
        10111
      ],
      "op": "PUSH1",
      "path": "75",
      "value": "0x4"
    },
    "6752": {
      "fn": "ComponentController._checkStateTransition",
      "offset": [
        10065,
        10111
      ],
      "op": "MSTORE",
      "path": "75"
    },
    "6753": {
      "fn": "ComponentController._checkStateTransition",
      "offset": [
        10065,
        10111
      ],
      "op": "PUSH1",
      "path": "75",
      "value": "0x24"
    },
    "6755": {
      "fn": "ComponentController._checkStateTransition",
      "offset": [
        10065,
        10111
      ],
      "op": "PUSH1",
      "path": "75",
      "value": "0x0"
    },
    "6757": {
      "fn": "ComponentController._checkStateTransition",
      "offset": [
        10065,
        10111
      ],
      "op": "REVERT",
      "path": "75"
    },
    "6758": {
      "fn": "ComponentController._checkStateTransition",
      "offset": [
        10065,
        10111
      ],
      "op": "JUMPDEST",
      "path": "75"
    },
    "6759": {
      "branch": 112,
      "fn": "ComponentController._checkStateTransition",
      "offset": [
        10065,
        10111
      ],
      "op": "EQ",
      "path": "75"
    },
    "6760": {
      "fn": "ComponentController._checkStateTransition",
      "offset": [
        10057,
        10173
      ],
      "op": "PUSH2",
      "path": "75",
      "value": "0x1AC4"
    },
    "6763": {
      "branch": 112,
      "fn": "ComponentController._checkStateTransition",
      "offset": [
        10057,
        10173
      ],
      "op": "JUMPI",
      "path": "75"
    },
    "6764": {
      "fn": "ComponentController._checkStateTransition",
      "offset": [
        10057,
        10173
      ],
      "op": "PUSH1",
      "path": "75",
      "value": "0x40"
    },
    "6766": {
      "fn": "ComponentController._checkStateTransition",
      "offset": [
        10057,
        10173
      ],
      "op": "MLOAD",
      "path": "75"
    },
    "6767": {
      "op": "PUSH3",
      "value": "0x461BCD"
    },
    "6771": {
      "op": "PUSH1",
      "value": "0xE5"
    },
    "6773": {
      "op": "SHL"
    },
    "6774": {
      "fn": "ComponentController._checkStateTransition",
      "offset": [
        10057,
        10173
      ],
      "op": "DUP2",
      "path": "75"
    },
    "6775": {
      "fn": "ComponentController._checkStateTransition",
      "offset": [
        10057,
        10173
      ],
      "op": "MSTORE",
      "path": "75"
    },
    "6776": {
      "op": "PUSH1",
      "value": "0x20"
    },
    "6778": {
      "fn": "ComponentController._checkStateTransition",
      "offset": [
        10057,
        10173
      ],
      "op": "PUSH1",
      "path": "75",
      "value": "0x4"
    },
    "6780": {
      "fn": "ComponentController._checkStateTransition",
      "offset": [
        10057,
        10173
      ],
      "op": "DUP3",
      "path": "75"
    },
    "6781": {
      "fn": "ComponentController._checkStateTransition",
      "offset": [
        10057,
        10173
      ],
      "op": "ADD",
      "path": "75"
    },
    "6782": {
      "op": "MSTORE"
    },
    "6783": {
      "op": "PUSH1",
      "value": "0x28"
    },
    "6785": {
      "op": "PUSH1",
      "value": "0x24"
    },
    "6787": {
      "op": "DUP3"
    },
    "6788": {
      "op": "ADD"
    },
    "6789": {
      "op": "MSTORE"
    },
    "6790": {
      "op": "PUSH32",
      "value": "0x4552524F523A4343522D3032313A435245415445445F494E56414C49445F5452"
    },
    "6823": {
      "op": "PUSH1",
      "value": "0x44"
    },
    "6825": {
      "op": "DUP3"
    },
    "6826": {
      "op": "ADD"
    },
    "6827": {
      "op": "MSTORE"
    },
    "6828": {
      "op": "PUSH8",
      "value": "0x20A729A4AA24A7A7"
    },
    "6837": {
      "op": "PUSH1",
      "value": "0xC1"
    },
    "6839": {
      "op": "SHL"
    },
    "6840": {
      "op": "PUSH1",
      "value": "0x64"
    },
    "6842": {
      "op": "DUP3"
    },
    "6843": {
      "op": "ADD"
    },
    "6844": {
      "op": "MSTORE"
    },
    "6845": {
      "op": "PUSH1",
      "value": "0x84"
    },
    "6847": {
      "op": "ADD"
    },
    "6848": {
      "fn": "ComponentController._checkStateTransition",
      "offset": [
        10057,
        10173
      ],
      "op": "PUSH2",
      "path": "75",
      "value": "0x453"
    },
    "6851": {
      "op": "JUMP"
    },
    "6852": {
      "fn": "ComponentController._checkStateTransition",
      "offset": [
        10057,
        10173
      ],
      "op": "JUMPDEST",
      "path": "75"
    },
    "6853": {
      "fn": "ComponentController._checkStateTransition",
      "offset": [
        9992,
        11446
      ],
      "op": "PUSH2",
      "path": "75",
      "value": "0x125C"
    },
    "6856": {
      "fn": "ComponentController._checkStateTransition",
      "offset": [
        9992,
        11446
      ],
      "op": "JUMP",
      "path": "75"
    },
    "6857": {
      "fn": "ComponentController._checkStateTransition",
      "offset": [
        9992,
        11446
      ],
      "op": "JUMPDEST",
      "path": "75"
    },
    "6858": {
      "fn": "ComponentController._checkStateTransition",
      "offset": [
        10206,
        10240
      ],
      "op": "PUSH1",
      "path": "75",
      "value": "0x1"
    },
    "6860": {
      "fn": "ComponentController._checkStateTransition",
      "offset": [
        10194,
        10202
      ],
      "op": "DUP3",
      "path": "75"
    },
    "6861": {
      "fn": "ComponentController._checkStateTransition",
      "offset": [
        10194,
        10240
      ],
      "op": "PUSH1",
      "path": "75",
      "value": "0x6"
    },
    "6863": {
      "fn": "ComponentController._checkStateTransition",
      "offset": [
        10194,
        10240
      ],
      "op": "DUP2",
      "path": "75"
    },
    "6864": {
      "fn": "ComponentController._checkStateTransition",
      "offset": [
        10194,
        10240
      ],
      "op": "GT",
      "path": "75"
    },
    "6865": {
      "fn": "ComponentController._checkStateTransition",
      "offset": [
        10194,
        10240
      ],
      "op": "ISZERO",
      "path": "75"
    },
    "6866": {
      "fn": "ComponentController._checkStateTransition",
      "offset": [
        10194,
        10240
      ],
      "op": "PUSH2",
      "path": "75",
      "value": "0x1AEB"
    },
    "6869": {
      "fn": "ComponentController._checkStateTransition",
      "offset": [
        10194,
        10240
      ],
      "op": "JUMPI",
      "path": "75"
    },
    "6870": {
      "op": "PUSH4",
      "value": "0x4E487B71"
    },
    "6875": {
      "op": "PUSH1",
      "value": "0xE0"
    },
    "6877": {
      "op": "SHL"
    },
    "6878": {
      "fn": "ComponentController._checkStateTransition",
      "offset": [
        10194,
        10240
      ],
      "op": "PUSH1",
      "path": "75",
      "value": "0x0"
    },
    "6880": {
      "fn": "ComponentController._checkStateTransition",
      "offset": [
        10194,
        10240
      ],
      "op": "MSTORE",
      "path": "75"
    },
    "6881": {
      "fn": "ComponentController._checkStateTransition",
      "offset": [
        10194,
        10240
      ],
      "op": "PUSH1",
      "path": "75",
      "value": "0x21"
    },
    "6883": {
      "fn": "ComponentController._checkStateTransition",
      "offset": [
        10194,
        10240
      ],
      "op": "PUSH1",
      "path": "75",
      "value": "0x4"
    },
    "6885": {
      "fn": "ComponentController._checkStateTransition",
      "offset": [
        10194,
        10240
      ],
      "op": "MSTORE",
      "path": "75"
    },
    "6886": {
      "fn": "ComponentController._checkStateTransition",
      "offset": [
        10194,
        10240
      ],
      "op": "PUSH1",
      "path": "75",
      "value": "0x24"
    },
    "6888": {
      "fn": "ComponentController._checkStateTransition",
      "offset": [
        10194,
        10240
      ],
      "op": "PUSH1",
      "path": "75",
      "value": "0x0"
    },
    "6890": {
      "fn": "ComponentController._checkStateTransition",
      "offset": [
        10194,
        10240
      ],
      "op": "REVERT",
      "path": "75"
    },
    "6891": {
      "fn": "ComponentController._checkStateTransition",
      "offset": [
        10194,
        10240
      ],
      "op": "JUMPDEST",
      "path": "75"
    },
    "6892": {
      "branch": 113,
      "fn": "ComponentController._checkStateTransition",
      "offset": [
        10194,
        10240
      ],
      "op": "EQ",
      "path": "75"
    },
    "6893": {
      "fn": "ComponentController._checkStateTransition",
      "offset": [
        10190,
        11446
      ],
      "op": "ISZERO",
      "path": "75"
    },
    "6894": {
      "fn": "ComponentController._checkStateTransition",
      "offset": [
        10190,
        11446
      ],
      "op": "PUSH2",
      "path": "75",
      "value": "0x1B9B"
    },
    "6897": {
      "branch": 113,
      "fn": "ComponentController._checkStateTransition",
      "offset": [
        10190,
        11446
      ],
      "op": "JUMPI",
      "path": "75"
    },
    "6898": {
      "fn": "ComponentController._checkStateTransition",
      "offset": [
        10276,
        10308
      ],
      "op": "PUSH1",
      "path": "75",
      "statement": 81,
      "value": "0x3"
    },
    "6900": {
      "fn": "ComponentController._checkStateTransition",
      "offset": [
        10264,
        10272
      ],
      "op": "DUP2",
      "path": "75"
    },
    "6901": {
      "fn": "ComponentController._checkStateTransition",
      "offset": [
        10264,
        10308
      ],
      "op": "PUSH1",
      "path": "75",
      "value": "0x6"
    },
    "6903": {
      "fn": "ComponentController._checkStateTransition",
      "offset": [
        10264,
        10308
      ],
      "op": "DUP2",
      "path": "75"
    },
    "6904": {
      "fn": "ComponentController._checkStateTransition",
      "offset": [
        10264,
        10308
      ],
      "op": "GT",
      "path": "75"
    },
    "6905": {
      "fn": "ComponentController._checkStateTransition",
      "offset": [
        10264,
        10308
      ],
      "op": "ISZERO",
      "path": "75"
    },
    "6906": {
      "fn": "ComponentController._checkStateTransition",
      "offset": [
        10264,
        10308
      ],
      "op": "PUSH2",
      "path": "75",
      "value": "0x1B13"
    },
    "6909": {
      "fn": "ComponentController._checkStateTransition",
      "offset": [
        10264,
        10308
      ],
      "op": "JUMPI",
      "path": "75"
    },
    "6910": {
      "op": "PUSH4",
      "value": "0x4E487B71"
    },
    "6915": {
      "op": "PUSH1",
      "value": "0xE0"
    },
    "6917": {
      "op": "SHL"
    },
    "6918": {
      "fn": "ComponentController._checkStateTransition",
      "offset": [
        10264,
        10308
      ],
      "op": "PUSH1",
      "path": "75",
      "value": "0x0"
    },
    "6920": {
      "fn": "ComponentController._checkStateTransition",
      "offset": [
        10264,
        10308
      ],
      "op": "MSTORE",
      "path": "75"
    },
    "6921": {
      "fn": "ComponentController._checkStateTransition",
      "offset": [
        10264,
        10308
      ],
      "op": "PUSH1",
      "path": "75",
      "value": "0x21"
    },
    "6923": {
      "fn": "ComponentController._checkStateTransition",
      "offset": [
        10264,
        10308
      ],
      "op": "PUSH1",
      "path": "75",
      "value": "0x4"
    },
    "6925": {
      "fn": "ComponentController._checkStateTransition",
      "offset": [
        10264,
        10308
      ],
      "op": "MSTORE",
      "path": "75"
    },
    "6926": {
      "fn": "ComponentController._checkStateTransition",
      "offset": [
        10264,
        10308
      ],
      "op": "PUSH1",
      "path": "75",
      "value": "0x24"
    },
    "6928": {
      "fn": "ComponentController._checkStateTransition",
      "offset": [
        10264,
        10308
      ],
      "op": "PUSH1",
      "path": "75",
      "value": "0x0"
    },
    "6930": {
      "fn": "ComponentController._checkStateTransition",
      "offset": [
        10264,
        10308
      ],
      "op": "REVERT",
      "path": "75"
    },
    "6931": {
      "fn": "ComponentController._checkStateTransition",
      "offset": [
        10264,
        10308
      ],
      "op": "JUMPDEST",
      "path": "75"
    },
    "6932": {
      "branch": 114,
      "fn": "ComponentController._checkStateTransition",
      "offset": [
        10264,
        10308
      ],
      "op": "EQ",
      "path": "75"
    },
    "6933": {
      "fn": "ComponentController._checkStateTransition",
      "offset": [
        10264,
        10375
      ],
      "op": "DUP1",
      "path": "75"
    },
    "6934": {
      "fn": "ComponentController._checkStateTransition",
      "offset": [
        10264,
        10375
      ],
      "op": "PUSH2",
      "path": "75",
      "value": "0x1B3E"
    },
    "6937": {
      "branch": 114,
      "fn": "ComponentController._checkStateTransition",
      "offset": [
        10264,
        10375
      ],
      "op": "JUMPI",
      "path": "75"
    },
    "6938": {
      "op": "POP"
    },
    "6939": {
      "fn": "ComponentController._checkStateTransition",
      "offset": [
        10341,
        10375
      ],
      "op": "PUSH1",
      "path": "75",
      "value": "0x2"
    },
    "6941": {
      "fn": "ComponentController._checkStateTransition",
      "offset": [
        10329,
        10337
      ],
      "op": "DUP2",
      "path": "75"
    },
    "6942": {
      "fn": "ComponentController._checkStateTransition",
      "offset": [
        10329,
        10375
      ],
      "op": "PUSH1",
      "path": "75",
      "value": "0x6"
    },
    "6944": {
      "fn": "ComponentController._checkStateTransition",
      "offset": [
        10329,
        10375
      ],
      "op": "DUP2",
      "path": "75"
    },
    "6945": {
      "fn": "ComponentController._checkStateTransition",
      "offset": [
        10329,
        10375
      ],
      "op": "GT",
      "path": "75"
    },
    "6946": {
      "fn": "ComponentController._checkStateTransition",
      "offset": [
        10329,
        10375
      ],
      "op": "ISZERO",
      "path": "75"
    },
    "6947": {
      "fn": "ComponentController._checkStateTransition",
      "offset": [
        10329,
        10375
      ],
      "op": "PUSH2",
      "path": "75",
      "value": "0x1B3C"
    },
    "6950": {
      "fn": "ComponentController._checkStateTransition",
      "offset": [
        10329,
        10375
      ],
      "op": "JUMPI",
      "path": "75"
    },
    "6951": {
      "op": "PUSH4",
      "value": "0x4E487B71"
    },
    "6956": {
      "op": "PUSH1",
      "value": "0xE0"
    },
    "6958": {
      "op": "SHL"
    },
    "6959": {
      "fn": "ComponentController._checkStateTransition",
      "offset": [
        10329,
        10375
      ],
      "op": "PUSH1",
      "path": "75",
      "value": "0x0"
    },
    "6961": {
      "fn": "ComponentController._checkStateTransition",
      "offset": [
        10329,
        10375
      ],
      "op": "MSTORE",
      "path": "75"
    },
    "6962": {
      "fn": "ComponentController._checkStateTransition",
      "offset": [
        10329,
        10375
      ],
      "op": "PUSH1",
      "path": "75",
      "value": "0x21"
    },
    "6964": {
      "fn": "ComponentController._checkStateTransition",
      "offset": [
        10329,
        10375
      ],
      "op": "PUSH1",
      "path": "75",
      "value": "0x4"
    },
    "6966": {
      "fn": "ComponentController._checkStateTransition",
      "offset": [
        10329,
        10375
      ],
      "op": "MSTORE",
      "path": "75"
    },
    "6967": {
      "fn": "ComponentController._checkStateTransition",
      "offset": [
        10329,
        10375
      ],
      "op": "PUSH1",
      "path": "75",
      "value": "0x24"
    },
    "6969": {
      "fn": "ComponentController._checkStateTransition",
      "offset": [
        10329,
        10375
      ],
      "op": "PUSH1",
      "path": "75",
      "value": "0x0"
    },
    "6971": {
      "fn": "ComponentController._checkStateTransition",
      "offset": [
        10329,
        10375
      ],
      "op": "REVERT",
      "path": "75"
    },
    "6972": {
      "fn": "ComponentController._checkStateTransition",
      "offset": [
        10329,
        10375
      ],
      "op": "JUMPDEST",
      "path": "75"
    },
    "6973": {
      "branch": 115,
      "fn": "ComponentController._checkStateTransition",
      "offset": [
        10329,
        10375
      ],
      "op": "EQ",
      "path": "75"
    },
    "6974": {
      "fn": "ComponentController._checkStateTransition",
      "offset": [
        10264,
        10375
      ],
      "op": "JUMPDEST",
      "path": "75"
    },
    "6975": {
      "fn": "ComponentController._checkStateTransition",
      "offset": [
        10256,
        10437
      ],
      "op": "PUSH2",
      "path": "75",
      "value": "0x1AC4"
    },
    "6978": {
      "branch": 115,
      "fn": "ComponentController._checkStateTransition",
      "offset": [
        10256,
        10437
      ],
      "op": "JUMPI",
      "path": "75"
    },
    "6979": {
      "fn": "ComponentController._checkStateTransition",
      "offset": [
        10256,
        10437
      ],
      "op": "PUSH1",
      "path": "75",
      "value": "0x40"
    },
    "6981": {
      "fn": "ComponentController._checkStateTransition",
      "offset": [
        10256,
        10437
      ],
      "op": "MLOAD",
      "path": "75"
    },
    "6982": {
      "op": "PUSH3",
      "value": "0x461BCD"
    },
    "6986": {
      "op": "PUSH1",
      "value": "0xE5"
    },
    "6988": {
      "op": "SHL"
    },
    "6989": {
      "fn": "ComponentController._checkStateTransition",
      "offset": [
        10256,
        10437
      ],
      "op": "DUP2",
      "path": "75"
    },
    "6990": {
      "fn": "ComponentController._checkStateTransition",
      "offset": [
        10256,
        10437
      ],
      "op": "MSTORE",
      "path": "75"
    },
    "6991": {
      "op": "PUSH1",
      "value": "0x20"
    },
    "6993": {
      "fn": "ComponentController._checkStateTransition",
      "offset": [
        10256,
        10437
      ],
      "op": "PUSH1",
      "path": "75",
      "value": "0x4"
    },
    "6995": {
      "fn": "ComponentController._checkStateTransition",
      "offset": [
        10256,
        10437
      ],
      "op": "DUP3",
      "path": "75"
    },
    "6996": {
      "fn": "ComponentController._checkStateTransition",
      "offset": [
        10256,
        10437
      ],
      "op": "ADD",
      "path": "75"
    },
    "6997": {
      "op": "MSTORE"
    },
    "6998": {
      "op": "PUSH1",
      "value": "0x28"
    },
    "7000": {
      "op": "PUSH1",
      "value": "0x24"
    },
    "7002": {
      "op": "DUP3"
    },
    "7003": {
      "op": "ADD"
    },
    "7004": {
      "op": "MSTORE"
    },
    "7005": {
      "op": "PUSH32",
      "value": "0x4552524F523A4343522D32323A50524F504F5345445F494E56414C49445F5452"
    },
    "7038": {
      "op": "PUSH1",
      "value": "0x44"
    },
    "7040": {
      "op": "DUP3"
    },
    "7041": {
      "op": "ADD"
    },
    "7042": {
      "op": "MSTORE"
    },
    "7043": {
      "op": "PUSH8",
      "value": "0x20A729A4AA24A7A7"
    },
    "7052": {
      "op": "PUSH1",
      "value": "0xC1"
    },
    "7054": {
      "op": "SHL"
    },
    "7055": {
      "op": "PUSH1",
      "value": "0x64"
    },
    "7057": {
      "op": "DUP3"
    },
    "7058": {
      "op": "ADD"
    },
    "7059": {
      "op": "MSTORE"
    },
    "7060": {
      "op": "PUSH1",
      "value": "0x84"
    },
    "7062": {
      "op": "ADD"
    },
    "7063": {
      "fn": "ComponentController._checkStateTransition",
      "offset": [
        10256,
        10437
      ],
      "op": "PUSH2",
      "path": "75",
      "value": "0x453"
    },
    "7066": {
      "op": "JUMP"
    },
    "7067": {
      "fn": "ComponentController._checkStateTransition",
      "offset": [
        10190,
        11446
      ],
      "op": "JUMPDEST",
      "path": "75"
    },
    "7068": {
      "fn": "ComponentController._checkStateTransition",
      "offset": [
        10470,
        10504
      ],
      "op": "PUSH1",
      "path": "75",
      "value": "0x2"
    },
    "7070": {
      "fn": "ComponentController._checkStateTransition",
      "offset": [
        10458,
        10466
      ],
      "op": "DUP3",
      "path": "75"
    },
    "7071": {
      "fn": "ComponentController._checkStateTransition",
      "offset": [
        10458,
        10504
      ],
      "op": "PUSH1",
      "path": "75",
      "value": "0x6"
    },
    "7073": {
      "fn": "ComponentController._checkStateTransition",
      "offset": [
        10458,
        10504
      ],
      "op": "DUP2",
      "path": "75"
    },
    "7074": {
      "fn": "ComponentController._checkStateTransition",
      "offset": [
        10458,
        10504
      ],
      "op": "GT",
      "path": "75"
    },
    "7075": {
      "fn": "ComponentController._checkStateTransition",
      "offset": [
        10458,
        10504
      ],
      "op": "ISZERO",
      "path": "75"
    },
    "7076": {
      "fn": "ComponentController._checkStateTransition",
      "offset": [
        10458,
        10504
      ],
      "op": "PUSH2",
      "path": "75",
      "value": "0x1BBD"
    },
    "7079": {
      "fn": "ComponentController._checkStateTransition",
      "offset": [
        10458,
        10504
      ],
      "op": "JUMPI",
      "path": "75"
    },
    "7080": {
      "op": "PUSH4",
      "value": "0x4E487B71"
    },
    "7085": {
      "op": "PUSH1",
      "value": "0xE0"
    },
    "7087": {
      "op": "SHL"
    },
    "7088": {
      "fn": "ComponentController._checkStateTransition",
      "offset": [
        10458,
        10504
      ],
      "op": "PUSH1",
      "path": "75",
      "value": "0x0"
    },
    "7090": {
      "fn": "ComponentController._checkStateTransition",
      "offset": [
        10458,
        10504
      ],
      "op": "MSTORE",
      "path": "75"
    },
    "7091": {
      "fn": "ComponentController._checkStateTransition",
      "offset": [
        10458,
        10504
      ],
      "op": "PUSH1",
      "path": "75",
      "value": "0x21"
    },
    "7093": {
      "fn": "ComponentController._checkStateTransition",
      "offset": [
        10458,
        10504
      ],
      "op": "PUSH1",
      "path": "75",
      "value": "0x4"
    },
    "7095": {
      "fn": "ComponentController._checkStateTransition",
      "offset": [
        10458,
        10504
      ],
      "op": "MSTORE",
      "path": "75"
    },
    "7096": {
      "fn": "ComponentController._checkStateTransition",
      "offset": [
        10458,
        10504
      ],
      "op": "PUSH1",
      "path": "75",
      "value": "0x24"
    },
    "7098": {
      "fn": "ComponentController._checkStateTransition",
      "offset": [
        10458,
        10504
      ],
      "op": "PUSH1",
      "path": "75",
      "value": "0x0"
    },
    "7100": {
      "fn": "ComponentController._checkStateTransition",
      "offset": [
        10458,
        10504
      ],
      "op": "REVERT",
      "path": "75"
    },
    "7101": {
      "fn": "ComponentController._checkStateTransition",
      "offset": [
        10458,
        10504
      ],
      "op": "JUMPDEST",
      "path": "75"
    },
    "7102": {
      "branch": 116,
      "fn": "ComponentController._checkStateTransition",
      "offset": [
        10458,
        10504
      ],
      "op": "EQ",
      "path": "75"
    },
    "7103": {
      "fn": "ComponentController._checkStateTransition",
      "offset": [
        10454,
        11446
      ],
      "op": "ISZERO",
      "path": "75"
    },
    "7104": {
      "fn": "ComponentController._checkStateTransition",
      "offset": [
        10454,
        11446
      ],
      "op": "PUSH2",
      "path": "75",
      "value": "0x1C19"
    },
    "7107": {
      "branch": 116,
      "fn": "ComponentController._checkStateTransition",
      "offset": [
        10454,
        11446
      ],
      "op": "JUMPI",
      "path": "75"
    },
    "7108": {
      "fn": "ComponentController._checkStateTransition",
      "offset": [
        10520,
        10567
      ],
      "op": "PUSH1",
      "path": "75",
      "statement": 82,
      "value": "0x40"
    },
    "7110": {
      "fn": "ComponentController._checkStateTransition",
      "offset": [
        10520,
        10567
      ],
      "op": "MLOAD",
      "path": "75"
    },
    "7111": {
      "op": "PUSH3",
      "value": "0x461BCD"
    },
    "7115": {
      "op": "PUSH1",
      "value": "0xE5"
    },
    "7117": {
      "op": "SHL"
    },
    "7118": {
      "fn": "ComponentController._checkStateTransition",
      "offset": [
        10520,
        10567
      ],
      "op": "DUP2",
      "path": "75"
    },
    "7119": {
      "fn": "ComponentController._checkStateTransition",
      "offset": [
        10520,
        10567
      ],
      "op": "MSTORE",
      "path": "75"
    },
    "7120": {
      "op": "PUSH1",
      "value": "0x20"
    },
    "7122": {
      "fn": "ComponentController._checkStateTransition",
      "offset": [
        10520,
        10567
      ],
      "op": "PUSH1",
      "path": "75",
      "value": "0x4"
    },
    "7124": {
      "fn": "ComponentController._checkStateTransition",
      "offset": [
        10520,
        10567
      ],
      "op": "DUP3",
      "path": "75"
    },
    "7125": {
      "fn": "ComponentController._checkStateTransition",
      "offset": [
        10520,
        10567
      ],
      "op": "ADD",
      "path": "75"
    },
    "7126": {
      "op": "MSTORE"
    },
    "7127": {
      "op": "PUSH1",
      "value": "0x25"
    },
    "7129": {
      "op": "PUSH1",
      "value": "0x24"
    },
    "7131": {
      "op": "DUP3"
    },
    "7132": {
      "op": "ADD"
    },
    "7133": {
      "op": "MSTORE"
    },
    "7134": {
      "op": "PUSH32",
      "value": "0x4552524F523A4343522D3032333A4445434C494E45445F49535F46494E414C5F"
    },
    "7167": {
      "op": "PUSH1",
      "value": "0x44"
    },
    "7169": {
      "op": "DUP3"
    },
    "7170": {
      "op": "ADD"
    },
    "7171": {
      "op": "MSTORE"
    },
    "7172": {
      "op": "PUSH5",
      "value": "0x5354415445"
    },
    "7178": {
      "op": "PUSH1",
      "value": "0xD8"
    },
    "7180": {
      "op": "SHL"
    },
    "7181": {
      "op": "PUSH1",
      "value": "0x64"
    },
    "7183": {
      "op": "DUP3"
    },
    "7184": {
      "op": "ADD"
    },
    "7185": {
      "op": "MSTORE"
    },
    "7186": {
      "op": "PUSH1",
      "value": "0x84"
    },
    "7188": {
      "op": "ADD"
    },
    "7189": {
      "fn": "ComponentController._checkStateTransition",
      "offset": [
        10520,
        10567
      ],
      "op": "PUSH2",
      "path": "75",
      "value": "0x453"
    },
    "7192": {
      "op": "JUMP"
    },
    "7193": {
      "fn": "ComponentController._checkStateTransition",
      "offset": [
        10454,
        11446
      ],
      "op": "JUMPDEST",
      "path": "75"
    },
    "7194": {
      "fn": "ComponentController._checkStateTransition",
      "offset": [
        10600,
        10632
      ],
      "op": "PUSH1",
      "path": "75",
      "value": "0x3"
    },
    "7196": {
      "fn": "ComponentController._checkStateTransition",
      "offset": [
        10588,
        10596
      ],
      "op": "DUP3",
      "path": "75"
    },
    "7197": {
      "fn": "ComponentController._checkStateTransition",
      "offset": [
        10588,
        10632
      ],
      "op": "PUSH1",
      "path": "75",
      "value": "0x6"
    },
    "7199": {
      "fn": "ComponentController._checkStateTransition",
      "offset": [
        10588,
        10632
      ],
      "op": "DUP2",
      "path": "75"
    },
    "7200": {
      "fn": "ComponentController._checkStateTransition",
      "offset": [
        10588,
        10632
      ],
      "op": "GT",
      "path": "75"
    },
    "7201": {
      "fn": "ComponentController._checkStateTransition",
      "offset": [
        10588,
        10632
      ],
      "op": "ISZERO",
      "path": "75"
    },
    "7202": {
      "fn": "ComponentController._checkStateTransition",
      "offset": [
        10588,
        10632
      ],
      "op": "PUSH2",
      "path": "75",
      "value": "0x1C3B"
    },
    "7205": {
      "fn": "ComponentController._checkStateTransition",
      "offset": [
        10588,
        10632
      ],
      "op": "JUMPI",
      "path": "75"
    },
    "7206": {
      "op": "PUSH4",
      "value": "0x4E487B71"
    },
    "7211": {
      "op": "PUSH1",
      "value": "0xE0"
    },
    "7213": {
      "op": "SHL"
    },
    "7214": {
      "fn": "ComponentController._checkStateTransition",
      "offset": [
        10588,
        10632
      ],
      "op": "PUSH1",
      "path": "75",
      "value": "0x0"
    },
    "7216": {
      "fn": "ComponentController._checkStateTransition",
      "offset": [
        10588,
        10632
      ],
      "op": "MSTORE",
      "path": "75"
    },
    "7217": {
      "fn": "ComponentController._checkStateTransition",
      "offset": [
        10588,
        10632
      ],
      "op": "PUSH1",
      "path": "75",
      "value": "0x21"
    },
    "7219": {
      "fn": "ComponentController._checkStateTransition",
      "offset": [
        10588,
        10632
      ],
      "op": "PUSH1",
      "path": "75",
      "value": "0x4"
    },
    "7221": {
      "fn": "ComponentController._checkStateTransition",
      "offset": [
        10588,
        10632
      ],
      "op": "MSTORE",
      "path": "75"
    },
    "7222": {
      "fn": "ComponentController._checkStateTransition",
      "offset": [
        10588,
        10632
      ],
      "op": "PUSH1",
      "path": "75",
      "value": "0x24"
    },
    "7224": {
      "fn": "ComponentController._checkStateTransition",
      "offset": [
        10588,
        10632
      ],
      "op": "PUSH1",
      "path": "75",
      "value": "0x0"
    },
    "7226": {
      "fn": "ComponentController._checkStateTransition",
      "offset": [
        10588,
        10632
      ],
      "op": "REVERT",
      "path": "75"
    },
    "7227": {
      "fn": "ComponentController._checkStateTransition",
      "offset": [
        10588,
        10632
      ],
      "op": "JUMPDEST",
      "path": "75"
    },
    "7228": {
      "branch": 117,
      "fn": "ComponentController._checkStateTransition",
      "offset": [
        10588,
        10632
      ],
      "op": "EQ",
      "path": "75"
    },
    "7229": {
      "fn": "ComponentController._checkStateTransition",
      "offset": [
        10584,
        11446
      ],
      "op": "ISZERO",
      "path": "75"
    },
    "7230": {
      "fn": "ComponentController._checkStateTransition",
      "offset": [
        10584,
        11446
      ],
      "op": "PUSH2",
      "path": "75",
      "value": "0x1CEA"
    },
    "7233": {
      "branch": 117,
      "fn": "ComponentController._checkStateTransition",
      "offset": [
        10584,
        11446
      ],
      "op": "JUMPI",
      "path": "75"
    },
    "7234": {
      "fn": "ComponentController._checkStateTransition",
      "offset": [
        10668,
        10700
      ],
      "op": "PUSH1",
      "path": "75",
      "statement": 83,
      "value": "0x4"
    },
    "7236": {
      "fn": "ComponentController._checkStateTransition",
      "offset": [
        10656,
        10664
      ],
      "op": "DUP2",
      "path": "75"
    },
    "7237": {
      "fn": "ComponentController._checkStateTransition",
      "offset": [
        10656,
        10700
      ],
      "op": "PUSH1",
      "path": "75",
      "value": "0x6"
    },
    "7239": {
      "fn": "ComponentController._checkStateTransition",
      "offset": [
        10656,
        10700
      ],
      "op": "DUP2",
      "path": "75"
    },
    "7240": {
      "fn": "ComponentController._checkStateTransition",
      "offset": [
        10656,
        10700
      ],
      "op": "GT",
      "path": "75"
    },
    "7241": {
      "fn": "ComponentController._checkStateTransition",
      "offset": [
        10656,
        10700
      ],
      "op": "ISZERO",
      "path": "75"
    },
    "7242": {
      "fn": "ComponentController._checkStateTransition",
      "offset": [
        10656,
        10700
      ],
      "op": "PUSH2",
      "path": "75",
      "value": "0x1C63"
    },
    "7245": {
      "fn": "ComponentController._checkStateTransition",
      "offset": [
        10656,
        10700
      ],
      "op": "JUMPI",
      "path": "75"
    },
    "7246": {
      "op": "PUSH4",
      "value": "0x4E487B71"
    },
    "7251": {
      "op": "PUSH1",
      "value": "0xE0"
    },
    "7253": {
      "op": "SHL"
    },
    "7254": {
      "fn": "ComponentController._checkStateTransition",
      "offset": [
        10656,
        10700
      ],
      "op": "PUSH1",
      "path": "75",
      "value": "0x0"
    },
    "7256": {
      "fn": "ComponentController._checkStateTransition",
      "offset": [
        10656,
        10700
      ],
      "op": "MSTORE",
      "path": "75"
    },
    "7257": {
      "fn": "ComponentController._checkStateTransition",
      "offset": [
        10656,
        10700
      ],
      "op": "PUSH1",
      "path": "75",
      "value": "0x21"
    },
    "7259": {
      "fn": "ComponentController._checkStateTransition",
      "offset": [
        10656,
        10700
      ],
      "op": "PUSH1",
      "path": "75",
      "value": "0x4"
    },
    "7261": {
      "fn": "ComponentController._checkStateTransition",
      "offset": [
        10656,
        10700
      ],
      "op": "MSTORE",
      "path": "75"
    },
    "7262": {
      "fn": "ComponentController._checkStateTransition",
      "offset": [
        10656,
        10700
      ],
      "op": "PUSH1",
      "path": "75",
      "value": "0x24"
    },
    "7264": {
      "fn": "ComponentController._checkStateTransition",
      "offset": [
        10656,
        10700
      ],
      "op": "PUSH1",
      "path": "75",
      "value": "0x0"
    },
    "7266": {
      "fn": "ComponentController._checkStateTransition",
      "offset": [
        10656,
        10700
      ],
      "op": "REVERT",
      "path": "75"
    },
    "7267": {
      "fn": "ComponentController._checkStateTransition",
      "offset": [
        10656,
        10700
      ],
      "op": "JUMPDEST",
      "path": "75"
    },
    "7268": {
      "branch": 118,
      "fn": "ComponentController._checkStateTransition",
      "offset": [
        10656,
        10700
      ],
      "op": "EQ",
      "path": "75"
    },
    "7269": {
      "fn": "ComponentController._checkStateTransition",
      "offset": [
        10656,
        10768
      ],
      "op": "DUP1",
      "path": "75"
    },
    "7270": {
      "fn": "ComponentController._checkStateTransition",
      "offset": [
        10656,
        10768
      ],
      "op": "PUSH2",
      "path": "75",
      "value": "0x1C8E"
    },
    "7273": {
      "branch": 118,
      "fn": "ComponentController._checkStateTransition",
      "offset": [
        10656,
        10768
      ],
      "op": "JUMPI",
      "path": "75"
    },
    "7274": {
      "op": "POP"
    },
    "7275": {
      "fn": "ComponentController._checkStateTransition",
      "offset": [
        10733,
        10768
      ],
      "op": "PUSH1",
      "path": "75",
      "value": "0x5"
    },
    "7277": {
      "fn": "ComponentController._checkStateTransition",
      "offset": [
        10721,
        10729
      ],
      "op": "DUP2",
      "path": "75"
    },
    "7278": {
      "fn": "ComponentController._checkStateTransition",
      "offset": [
        10721,
        10768
      ],
      "op": "PUSH1",
      "path": "75",
      "value": "0x6"
    },
    "7280": {
      "fn": "ComponentController._checkStateTransition",
      "offset": [
        10721,
        10768
      ],
      "op": "DUP2",
      "path": "75"
    },
    "7281": {
      "fn": "ComponentController._checkStateTransition",
      "offset": [
        10721,
        10768
      ],
      "op": "GT",
      "path": "75"
    },
    "7282": {
      "fn": "ComponentController._checkStateTransition",
      "offset": [
        10721,
        10768
      ],
      "op": "ISZERO",
      "path": "75"
    },
    "7283": {
      "fn": "ComponentController._checkStateTransition",
      "offset": [
        10721,
        10768
      ],
      "op": "PUSH2",
      "path": "75",
      "value": "0x1C8C"
    },
    "7286": {
      "fn": "ComponentController._checkStateTransition",
      "offset": [
        10721,
        10768
      ],
      "op": "JUMPI",
      "path": "75"
    },
    "7287": {
      "op": "PUSH4",
      "value": "0x4E487B71"
    },
    "7292": {
      "op": "PUSH1",
      "value": "0xE0"
    },
    "7294": {
      "op": "SHL"
    },
    "7295": {
      "fn": "ComponentController._checkStateTransition",
      "offset": [
        10721,
        10768
      ],
      "op": "PUSH1",
      "path": "75",
      "value": "0x0"
    },
    "7297": {
      "fn": "ComponentController._checkStateTransition",
      "offset": [
        10721,
        10768
      ],
      "op": "MSTORE",
      "path": "75"
    },
    "7298": {
      "fn": "ComponentController._checkStateTransition",
      "offset": [
        10721,
        10768
      ],
      "op": "PUSH1",
      "path": "75",
      "value": "0x21"
    },
    "7300": {
      "fn": "ComponentController._checkStateTransition",
      "offset": [
        10721,
        10768
      ],
      "op": "PUSH1",
      "path": "75",
      "value": "0x4"
    },
    "7302": {
      "fn": "ComponentController._checkStateTransition",
      "offset": [
        10721,
        10768
      ],
      "op": "MSTORE",
      "path": "75"
    },
    "7303": {
      "fn": "ComponentController._checkStateTransition",
      "offset": [
        10721,
        10768
      ],
      "op": "PUSH1",
      "path": "75",
      "value": "0x24"
    },
    "7305": {
      "fn": "ComponentController._checkStateTransition",
      "offset": [
        10721,
        10768
      ],
      "op": "PUSH1",
      "path": "75",
      "value": "0x0"
    },
    "7307": {
      "fn": "ComponentController._checkStateTransition",
      "offset": [
        10721,
        10768
      ],
      "op": "REVERT",
      "path": "75"
    },
    "7308": {
      "fn": "ComponentController._checkStateTransition",
      "offset": [
        10721,
        10768
      ],
      "op": "JUMPDEST",
      "path": "75"
    },
    "7309": {
      "branch": 119,
      "fn": "ComponentController._checkStateTransition",
      "offset": [
        10721,
        10768
      ],
      "op": "EQ",
      "path": "75"
    },
    "7310": {
      "fn": "ComponentController._checkStateTransition",
      "offset": [
        10656,
        10768
      ],
      "op": "JUMPDEST",
      "path": "75"
    },
    "7311": {
      "fn": "ComponentController._checkStateTransition",
      "offset": [
        10648,
        10829
      ],
      "op": "PUSH2",
      "path": "75",
      "value": "0x1AC4"
    },
    "7314": {
      "branch": 119,
      "fn": "ComponentController._checkStateTransition",
      "offset": [
        10648,
        10829
      ],
      "op": "JUMPI",
      "path": "75"
    },
    "7315": {
      "fn": "ComponentController._checkStateTransition",
      "offset": [
        10648,
        10829
      ],
      "op": "PUSH1",
      "path": "75",
      "value": "0x40"
    },
    "7317": {
      "fn": "ComponentController._checkStateTransition",
      "offset": [
        10648,
        10829
      ],
      "op": "MLOAD",
      "path": "75"
    },
    "7318": {
      "op": "PUSH3",
      "value": "0x461BCD"
    },
    "7322": {
      "op": "PUSH1",
      "value": "0xE5"
    },
    "7324": {
      "op": "SHL"
    },
    "7325": {
      "fn": "ComponentController._checkStateTransition",
      "offset": [
        10648,
        10829
      ],
      "op": "DUP2",
      "path": "75"
    },
    "7326": {
      "fn": "ComponentController._checkStateTransition",
      "offset": [
        10648,
        10829
      ],
      "op": "MSTORE",
      "path": "75"
    },
    "7327": {
      "op": "PUSH1",
      "value": "0x20"
    },
    "7329": {
      "fn": "ComponentController._checkStateTransition",
      "offset": [
        10648,
        10829
      ],
      "op": "PUSH1",
      "path": "75",
      "value": "0x4"
    },
    "7331": {
      "fn": "ComponentController._checkStateTransition",
      "offset": [
        10648,
        10829
      ],
      "op": "DUP3",
      "path": "75"
    },
    "7332": {
      "fn": "ComponentController._checkStateTransition",
      "offset": [
        10648,
        10829
      ],
      "op": "ADD",
      "path": "75"
    },
    "7333": {
      "op": "MSTORE"
    },
    "7334": {
      "op": "PUSH1",
      "value": "0x27"
    },
    "7336": {
      "op": "PUSH1",
      "value": "0x24"
    },
    "7338": {
      "op": "DUP3"
    },
    "7339": {
      "op": "ADD"
    },
    "7340": {
      "op": "MSTORE"
    },
    "7341": {
      "op": "PUSH32",
      "value": "0x4552524F523A4343522D3032343A4143544956455F494E56414C49445F545241"
    },
    "7374": {
      "op": "PUSH1",
      "value": "0x44"
    },
    "7376": {
      "op": "DUP3"
    },
    "7377": {
      "op": "ADD"
    },
    "7378": {
      "op": "MSTORE"
    },
    "7379": {
      "op": "PUSH7",
      "value": "0x2729A4AA24A7A7"
    },
    "7387": {
      "op": "PUSH1",
      "value": "0xC9"
    },
    "7389": {
      "op": "SHL"
    },
    "7390": {
      "op": "PUSH1",
      "value": "0x64"
    },
    "7392": {
      "op": "DUP3"
    },
    "7393": {
      "op": "ADD"
    },
    "7394": {
      "op": "MSTORE"
    },
    "7395": {
      "op": "PUSH1",
      "value": "0x84"
    },
    "7397": {
      "op": "ADD"
    },
    "7398": {
      "fn": "ComponentController._checkStateTransition",
      "offset": [
        10648,
        10829
      ],
      "op": "PUSH2",
      "path": "75",
      "value": "0x453"
    },
    "7401": {
      "op": "JUMP"
    },
    "7402": {
      "fn": "ComponentController._checkStateTransition",
      "offset": [
        10584,
        11446
      ],
      "op": "JUMPDEST",
      "path": "75"
    },
    "7403": {
      "fn": "ComponentController._checkStateTransition",
      "offset": [
        10862,
        10894
      ],
      "op": "PUSH1",
      "path": "75",
      "value": "0x4"
    },
    "7405": {
      "fn": "ComponentController._checkStateTransition",
      "offset": [
        10850,
        10858
      ],
      "op": "DUP3",
      "path": "75"
    },
    "7406": {
      "fn": "ComponentController._checkStateTransition",
      "offset": [
        10850,
        10894
      ],
      "op": "PUSH1",
      "path": "75",
      "value": "0x6"
    },
    "7408": {
      "fn": "ComponentController._checkStateTransition",
      "offset": [
        10850,
        10894
      ],
      "op": "DUP2",
      "path": "75"
    },
    "7409": {
      "fn": "ComponentController._checkStateTransition",
      "offset": [
        10850,
        10894
      ],
      "op": "GT",
      "path": "75"
    },
    "7410": {
      "fn": "ComponentController._checkStateTransition",
      "offset": [
        10850,
        10894
      ],
      "op": "ISZERO",
      "path": "75"
    },
    "7411": {
      "fn": "ComponentController._checkStateTransition",
      "offset": [
        10850,
        10894
      ],
      "op": "PUSH2",
      "path": "75",
      "value": "0x1D0C"
    },
    "7414": {
      "fn": "ComponentController._checkStateTransition",
      "offset": [
        10850,
        10894
      ],
      "op": "JUMPI",
      "path": "75"
    },
    "7415": {
      "op": "PUSH4",
      "value": "0x4E487B71"
    },
    "7420": {
      "op": "PUSH1",
      "value": "0xE0"
    },
    "7422": {
      "op": "SHL"
    },
    "7423": {
      "fn": "ComponentController._checkStateTransition",
      "offset": [
        10850,
        10894
      ],
      "op": "PUSH1",
      "path": "75",
      "value": "0x0"
    },
    "7425": {
      "fn": "ComponentController._checkStateTransition",
      "offset": [
        10850,
        10894
      ],
      "op": "MSTORE",
      "path": "75"
    },
    "7426": {
      "fn": "ComponentController._checkStateTransition",
      "offset": [
        10850,
        10894
      ],
      "op": "PUSH1",
      "path": "75",
      "value": "0x21"
    },
    "7428": {
      "fn": "ComponentController._checkStateTransition",
      "offset": [
        10850,
        10894
      ],
      "op": "PUSH1",
      "path": "75",
      "value": "0x4"
    },
    "7430": {
      "fn": "ComponentController._checkStateTransition",
      "offset": [
        10850,
        10894
      ],
      "op": "MSTORE",
      "path": "75"
    },
    "7431": {
      "fn": "ComponentController._checkStateTransition",
      "offset": [
        10850,
        10894
      ],
      "op": "PUSH1",
      "path": "75",
      "value": "0x24"
    },
    "7433": {
      "fn": "ComponentController._checkStateTransition",
      "offset": [
        10850,
        10894
      ],
      "op": "PUSH1",
      "path": "75",
      "value": "0x0"
    },
    "7435": {
      "fn": "ComponentController._checkStateTransition",
      "offset": [
        10850,
        10894
      ],
      "op": "REVERT",
      "path": "75"
    },
    "7436": {
      "fn": "ComponentController._checkStateTransition",
      "offset": [
        10850,
        10894
      ],
      "op": "JUMPDEST",
      "path": "75"
    },
    "7437": {
      "branch": 120,
      "fn": "ComponentController._checkStateTransition",
      "offset": [
        10850,
        10894
      ],
      "op": "EQ",
      "path": "75"
    },
    "7438": {
      "fn": "ComponentController._checkStateTransition",
      "offset": [
        10846,
        11446
      ],
      "op": "ISZERO",
      "path": "75"
    },
    "7439": {
      "fn": "ComponentController._checkStateTransition",
      "offset": [
        10846,
        11446
      ],
      "op": "PUSH2",
      "path": "75",
      "value": "0x1DBB"
    },
    "7442": {
      "branch": 120,
      "fn": "ComponentController._checkStateTransition",
      "offset": [
        10846,
        11446
      ],
      "op": "JUMPI",
      "path": "75"
    },
    "7443": {
      "fn": "ComponentController._checkStateTransition",
      "offset": [
        10930,
        10962
      ],
      "op": "PUSH1",
      "path": "75",
      "statement": 84,
      "value": "0x3"
    },
    "7445": {
      "fn": "ComponentController._checkStateTransition",
      "offset": [
        10918,
        10926
      ],
      "op": "DUP2",
      "path": "75"
    },
    "7446": {
      "fn": "ComponentController._checkStateTransition",
      "offset": [
        10918,
        10962
      ],
      "op": "PUSH1",
      "path": "75",
      "value": "0x6"
    },
    "7448": {
      "fn": "ComponentController._checkStateTransition",
      "offset": [
        10918,
        10962
      ],
      "op": "DUP2",
      "path": "75"
    },
    "7449": {
      "fn": "ComponentController._checkStateTransition",
      "offset": [
        10918,
        10962
      ],
      "op": "GT",
      "path": "75"
    },
    "7450": {
      "fn": "ComponentController._checkStateTransition",
      "offset": [
        10918,
        10962
      ],
      "op": "ISZERO",
      "path": "75"
    },
    "7451": {
      "fn": "ComponentController._checkStateTransition",
      "offset": [
        10918,
        10962
      ],
      "op": "PUSH2",
      "path": "75",
      "value": "0x1D34"
    },
    "7454": {
      "fn": "ComponentController._checkStateTransition",
      "offset": [
        10918,
        10962
      ],
      "op": "JUMPI",
      "path": "75"
    },
    "7455": {
      "op": "PUSH4",
      "value": "0x4E487B71"
    },
    "7460": {
      "op": "PUSH1",
      "value": "0xE0"
    },
    "7462": {
      "op": "SHL"
    },
    "7463": {
      "fn": "ComponentController._checkStateTransition",
      "offset": [
        10918,
        10962
      ],
      "op": "PUSH1",
      "path": "75",
      "value": "0x0"
    },
    "7465": {
      "fn": "ComponentController._checkStateTransition",
      "offset": [
        10918,
        10962
      ],
      "op": "MSTORE",
      "path": "75"
    },
    "7466": {
      "fn": "ComponentController._checkStateTransition",
      "offset": [
        10918,
        10962
      ],
      "op": "PUSH1",
      "path": "75",
      "value": "0x21"
    },
    "7468": {
      "fn": "ComponentController._checkStateTransition",
      "offset": [
        10918,
        10962
      ],
      "op": "PUSH1",
      "path": "75",
      "value": "0x4"
    },
    "7470": {
      "fn": "ComponentController._checkStateTransition",
      "offset": [
        10918,
        10962
      ],
      "op": "MSTORE",
      "path": "75"
    },
    "7471": {
      "fn": "ComponentController._checkStateTransition",
      "offset": [
        10918,
        10962
      ],
      "op": "PUSH1",
      "path": "75",
      "value": "0x24"
    },
    "7473": {
      "fn": "ComponentController._checkStateTransition",
      "offset": [
        10918,
        10962
      ],
      "op": "PUSH1",
      "path": "75",
      "value": "0x0"
    },
    "7475": {
      "fn": "ComponentController._checkStateTransition",
      "offset": [
        10918,
        10962
      ],
      "op": "REVERT",
      "path": "75"
    },
    "7476": {
      "fn": "ComponentController._checkStateTransition",
      "offset": [
        10918,
        10962
      ],
      "op": "JUMPDEST",
      "path": "75"
    },
    "7477": {
      "branch": 121,
      "fn": "ComponentController._checkStateTransition",
      "offset": [
        10918,
        10962
      ],
      "op": "EQ",
      "path": "75"
    },
    "7478": {
      "fn": "ComponentController._checkStateTransition",
      "offset": [
        10918,
        11028
      ],
      "op": "DUP1",
      "path": "75"
    },
    "7479": {
      "fn": "ComponentController._checkStateTransition",
      "offset": [
        10918,
        11028
      ],
      "op": "PUSH2",
      "path": "75",
      "value": "0x1D5F"
    },
    "7482": {
      "branch": 121,
      "fn": "ComponentController._checkStateTransition",
      "offset": [
        10918,
        11028
      ],
      "op": "JUMPI",
      "path": "75"
    },
    "7483": {
      "op": "POP"
    },
    "7484": {
      "fn": "ComponentController._checkStateTransition",
      "offset": [
        10994,
        11028
      ],
      "op": "PUSH1",
      "path": "75",
      "value": "0x6"
    },
    "7486": {
      "fn": "ComponentController._checkStateTransition",
      "offset": [
        10982,
        10990
      ],
      "op": "DUP2",
      "path": "75"
    },
    "7487": {
      "fn": "ComponentController._checkStateTransition",
      "offset": [
        10982,
        11028
      ],
      "op": "PUSH1",
      "path": "75",
      "value": "0x6"
    },
    "7489": {
      "fn": "ComponentController._checkStateTransition",
      "offset": [
        10982,
        11028
      ],
      "op": "DUP2",
      "path": "75"
    },
    "7490": {
      "fn": "ComponentController._checkStateTransition",
      "offset": [
        10982,
        11028
      ],
      "op": "GT",
      "path": "75"
    },
    "7491": {
      "fn": "ComponentController._checkStateTransition",
      "offset": [
        10982,
        11028
      ],
      "op": "ISZERO",
      "path": "75"
    },
    "7492": {
      "fn": "ComponentController._checkStateTransition",
      "offset": [
        10982,
        11028
      ],
      "op": "PUSH2",
      "path": "75",
      "value": "0x1D5D"
    },
    "7495": {
      "fn": "ComponentController._checkStateTransition",
      "offset": [
        10982,
        11028
      ],
      "op": "JUMPI",
      "path": "75"
    },
    "7496": {
      "op": "PUSH4",
      "value": "0x4E487B71"
    },
    "7501": {
      "op": "PUSH1",
      "value": "0xE0"
    },
    "7503": {
      "op": "SHL"
    },
    "7504": {
      "fn": "ComponentController._checkStateTransition",
      "offset": [
        10982,
        11028
      ],
      "op": "PUSH1",
      "path": "75",
      "value": "0x0"
    },
    "7506": {
      "fn": "ComponentController._checkStateTransition",
      "offset": [
        10982,
        11028
      ],
      "op": "MSTORE",
      "path": "75"
    },
    "7507": {
      "fn": "ComponentController._checkStateTransition",
      "offset": [
        10982,
        11028
      ],
      "op": "PUSH1",
      "path": "75",
      "value": "0x21"
    },
    "7509": {
      "fn": "ComponentController._checkStateTransition",
      "offset": [
        10982,
        11028
      ],
      "op": "PUSH1",
      "path": "75",
      "value": "0x4"
    },
    "7511": {
      "fn": "ComponentController._checkStateTransition",
      "offset": [
        10982,
        11028
      ],
      "op": "MSTORE",
      "path": "75"
    },
    "7512": {
      "fn": "ComponentController._checkStateTransition",
      "offset": [
        10982,
        11028
      ],
      "op": "PUSH1",
      "path": "75",
      "value": "0x24"
    },
    "7514": {
      "fn": "ComponentController._checkStateTransition",
      "offset": [
        10982,
        11028
      ],
      "op": "PUSH1",
      "path": "75",
      "value": "0x0"
    },
    "7516": {
      "fn": "ComponentController._checkStateTransition",
      "offset": [
        10982,
        11028
      ],
      "op": "REVERT",
      "path": "75"
    },
    "7517": {
      "fn": "ComponentController._checkStateTransition",
      "offset": [
        10982,
        11028
      ],
      "op": "JUMPDEST",
      "path": "75"
    },
    "7518": {
      "branch": 122,
      "fn": "ComponentController._checkStateTransition",
      "offset": [
        10982,
        11028
      ],
      "op": "EQ",
      "path": "75"
    },
    "7519": {
      "fn": "ComponentController._checkStateTransition",
      "offset": [
        10918,
        11028
      ],
      "op": "JUMPDEST",
      "path": "75"
    },
    "7520": {
      "fn": "ComponentController._checkStateTransition",
      "offset": [
        10910,
        11089
      ],
      "op": "PUSH2",
      "path": "75",
      "value": "0x1AC4"
    },
    "7523": {
      "branch": 122,
      "fn": "ComponentController._checkStateTransition",
      "offset": [
        10910,
        11089
      ],
      "op": "JUMPI",
      "path": "75"
    },
    "7524": {
      "fn": "ComponentController._checkStateTransition",
      "offset": [
        10910,
        11089
      ],
      "op": "PUSH1",
      "path": "75",
      "value": "0x40"
    },
    "7526": {
      "fn": "ComponentController._checkStateTransition",
      "offset": [
        10910,
        11089
      ],
      "op": "MLOAD",
      "path": "75"
    },
    "7527": {
      "op": "PUSH3",
      "value": "0x461BCD"
    },
    "7531": {
      "op": "PUSH1",
      "value": "0xE5"
    },
    "7533": {
      "op": "SHL"
    },
    "7534": {
      "fn": "ComponentController._checkStateTransition",
      "offset": [
        10910,
        11089
      ],
      "op": "DUP2",
      "path": "75"
    },
    "7535": {
      "fn": "ComponentController._checkStateTransition",
      "offset": [
        10910,
        11089
      ],
      "op": "MSTORE",
      "path": "75"
    },
    "7536": {
      "op": "PUSH1",
      "value": "0x20"
    },
    "7538": {
      "fn": "ComponentController._checkStateTransition",
      "offset": [
        10910,
        11089
      ],
      "op": "PUSH1",
      "path": "75",
      "value": "0x4"
    },
    "7540": {
      "fn": "ComponentController._checkStateTransition",
      "offset": [
        10910,
        11089
      ],
      "op": "DUP3",
      "path": "75"
    },
    "7541": {
      "fn": "ComponentController._checkStateTransition",
      "offset": [
        10910,
        11089
      ],
      "op": "ADD",
      "path": "75"
    },
    "7542": {
      "op": "MSTORE"
    },
    "7543": {
      "op": "PUSH1",
      "value": "0x27"
    },
    "7545": {
      "op": "PUSH1",
      "value": "0x24"
    },
    "7547": {
      "op": "DUP3"
    },
    "7548": {
      "op": "ADD"
    },
    "7549": {
      "op": "MSTORE"
    },
    "7550": {
      "op": "PUSH32",
      "value": "0x4552524F523A4343522D3032353A5041555345445F494E56414C49445F545241"
    },
    "7583": {
      "op": "PUSH1",
      "value": "0x44"
    },
    "7585": {
      "op": "DUP3"
    },
    "7586": {
      "op": "ADD"
    },
    "7587": {
      "op": "MSTORE"
    },
    "7588": {
      "op": "PUSH7",
      "value": "0x2729A4AA24A7A7"
    },
    "7596": {
      "op": "PUSH1",
      "value": "0xC9"
    },
    "7598": {
      "op": "SHL"
    },
    "7599": {
      "op": "PUSH1",
      "value": "0x64"
    },
    "7601": {
      "op": "DUP3"
    },
    "7602": {
      "op": "ADD"
    },
    "7603": {
      "op": "MSTORE"
    },
    "7604": {
      "op": "PUSH1",
      "value": "0x84"
    },
    "7606": {
      "op": "ADD"
    },
    "7607": {
      "fn": "ComponentController._checkStateTransition",
      "offset": [
        10910,
        11089
      ],
      "op": "PUSH2",
      "path": "75",
      "value": "0x453"
    },
    "7610": {
      "op": "JUMP"
    },
    "7611": {
      "fn": "ComponentController._checkStateTransition",
      "offset": [
        10846,
        11446
      ],
      "op": "JUMPDEST",
      "path": "75"
    },
    "7612": {
      "fn": "ComponentController._checkStateTransition",
      "offset": [
        11122,
        11157
      ],
      "op": "PUSH1",
      "path": "75",
      "value": "0x5"
    },
    "7614": {
      "fn": "ComponentController._checkStateTransition",
      "offset": [
        11110,
        11118
      ],
      "op": "DUP3",
      "path": "75"
    },
    "7615": {
      "fn": "ComponentController._checkStateTransition",
      "offset": [
        11110,
        11157
      ],
      "op": "PUSH1",
      "path": "75",
      "value": "0x6"
    },
    "7617": {
      "fn": "ComponentController._checkStateTransition",
      "offset": [
        11110,
        11157
      ],
      "op": "DUP2",
      "path": "75"
    },
    "7618": {
      "fn": "ComponentController._checkStateTransition",
      "offset": [
        11110,
        11157
      ],
      "op": "GT",
      "path": "75"
    },
    "7619": {
      "fn": "ComponentController._checkStateTransition",
      "offset": [
        11110,
        11157
      ],
      "op": "ISZERO",
      "path": "75"
    },
    "7620": {
      "fn": "ComponentController._checkStateTransition",
      "offset": [
        11110,
        11157
      ],
      "op": "PUSH2",
      "path": "75",
      "value": "0x1DDD"
    },
    "7623": {
      "fn": "ComponentController._checkStateTransition",
      "offset": [
        11110,
        11157
      ],
      "op": "JUMPI",
      "path": "75"
    },
    "7624": {
      "op": "PUSH4",
      "value": "0x4E487B71"
    },
    "7629": {
      "op": "PUSH1",
      "value": "0xE0"
    },
    "7631": {
      "op": "SHL"
    },
    "7632": {
      "fn": "ComponentController._checkStateTransition",
      "offset": [
        11110,
        11157
      ],
      "op": "PUSH1",
      "path": "75",
      "value": "0x0"
    },
    "7634": {
      "fn": "ComponentController._checkStateTransition",
      "offset": [
        11110,
        11157
      ],
      "op": "MSTORE",
      "path": "75"
    },
    "7635": {
      "fn": "ComponentController._checkStateTransition",
      "offset": [
        11110,
        11157
      ],
      "op": "PUSH1",
      "path": "75",
      "value": "0x21"
    },
    "7637": {
      "fn": "ComponentController._checkStateTransition",
      "offset": [
        11110,
        11157
      ],
      "op": "PUSH1",
      "path": "75",
      "value": "0x4"
    },
    "7639": {
      "fn": "ComponentController._checkStateTransition",
      "offset": [
        11110,
        11157
      ],
      "op": "MSTORE",
      "path": "75"
    },
    "7640": {
      "fn": "ComponentController._checkStateTransition",
      "offset": [
        11110,
        11157
      ],
      "op": "PUSH1",
      "path": "75",
      "value": "0x24"
    },
    "7642": {
      "fn": "ComponentController._checkStateTransition",
      "offset": [
        11110,
        11157
      ],
      "op": "PUSH1",
      "path": "75",
      "value": "0x0"
    },
    "7644": {
      "fn": "ComponentController._checkStateTransition",
      "offset": [
        11110,
        11157
      ],
      "op": "REVERT",
      "path": "75"
    },
    "7645": {
      "fn": "ComponentController._checkStateTransition",
      "offset": [
        11110,
        11157
      ],
      "op": "JUMPDEST",
      "path": "75"
    },
    "7646": {
      "branch": 123,
      "fn": "ComponentController._checkStateTransition",
      "offset": [
        11110,
        11157
      ],
      "op": "EQ",
      "path": "75"
    },
    "7647": {
      "fn": "ComponentController._checkStateTransition",
      "offset": [
        11106,
        11446
      ],
      "op": "ISZERO",
      "path": "75"
    },
    "7648": {
      "fn": "ComponentController._checkStateTransition",
      "offset": [
        11106,
        11446
      ],
      "op": "PUSH2",
      "path": "75",
      "value": "0x1E8F"
    },
    "7651": {
      "branch": 123,
      "fn": "ComponentController._checkStateTransition",
      "offset": [
        11106,
        11446
      ],
      "op": "JUMPI",
      "path": "75"
    },
    "7652": {
      "fn": "ComponentController._checkStateTransition",
      "offset": [
        11193,
        11225
      ],
      "op": "PUSH1",
      "path": "75",
      "statement": 85,
      "value": "0x3"
    },
    "7654": {
      "fn": "ComponentController._checkStateTransition",
      "offset": [
        11181,
        11189
      ],
      "op": "DUP2",
      "path": "75"
    },
    "7655": {
      "fn": "ComponentController._checkStateTransition",
      "offset": [
        11181,
        11225
      ],
      "op": "PUSH1",
      "path": "75",
      "value": "0x6"
    },
    "7657": {
      "fn": "ComponentController._checkStateTransition",
      "offset": [
        11181,
        11225
      ],
      "op": "DUP2",
      "path": "75"
    },
    "7658": {
      "fn": "ComponentController._checkStateTransition",
      "offset": [
        11181,
        11225
      ],
      "op": "GT",
      "path": "75"
    },
    "7659": {
      "fn": "ComponentController._checkStateTransition",
      "offset": [
        11181,
        11225
      ],
      "op": "ISZERO",
      "path": "75"
    },
    "7660": {
      "fn": "ComponentController._checkStateTransition",
      "offset": [
        11181,
        11225
      ],
      "op": "PUSH2",
      "path": "75",
      "value": "0x1E05"
    },
    "7663": {
      "fn": "ComponentController._checkStateTransition",
      "offset": [
        11181,
        11225
      ],
      "op": "JUMPI",
      "path": "75"
    },
    "7664": {
      "op": "PUSH4",
      "value": "0x4E487B71"
    },
    "7669": {
      "op": "PUSH1",
      "value": "0xE0"
    },
    "7671": {
      "op": "SHL"
    },
    "7672": {
      "fn": "ComponentController._checkStateTransition",
      "offset": [
        11181,
        11225
      ],
      "op": "PUSH1",
      "path": "75",
      "value": "0x0"
    },
    "7674": {
      "fn": "ComponentController._checkStateTransition",
      "offset": [
        11181,
        11225
      ],
      "op": "MSTORE",
      "path": "75"
    },
    "7675": {
      "fn": "ComponentController._checkStateTransition",
      "offset": [
        11181,
        11225
      ],
      "op": "PUSH1",
      "path": "75",
      "value": "0x21"
    },
    "7677": {
      "fn": "ComponentController._checkStateTransition",
      "offset": [
        11181,
        11225
      ],
      "op": "PUSH1",
      "path": "75",
      "value": "0x4"
    },
    "7679": {
      "fn": "ComponentController._checkStateTransition",
      "offset": [
        11181,
        11225
      ],
      "op": "MSTORE",
      "path": "75"
    },
    "7680": {
      "fn": "ComponentController._checkStateTransition",
      "offset": [
        11181,
        11225
      ],
      "op": "PUSH1",
      "path": "75",
      "value": "0x24"
    },
    "7682": {
      "fn": "ComponentController._checkStateTransition",
      "offset": [
        11181,
        11225
      ],
      "op": "PUSH1",
      "path": "75",
      "value": "0x0"
    },
    "7684": {
      "fn": "ComponentController._checkStateTransition",
      "offset": [
        11181,
        11225
      ],
      "op": "REVERT",
      "path": "75"
    },
    "7685": {
      "fn": "ComponentController._checkStateTransition",
      "offset": [
        11181,
        11225
      ],
      "op": "JUMPDEST",
      "path": "75"
    },
    "7686": {
      "branch": 124,
      "fn": "ComponentController._checkStateTransition",
      "offset": [
        11181,
        11225
      ],
      "op": "EQ",
      "path": "75"
    },
    "7687": {
      "fn": "ComponentController._checkStateTransition",
      "offset": [
        11181,
        11291
      ],
      "op": "DUP1",
      "path": "75"
    },
    "7688": {
      "fn": "ComponentController._checkStateTransition",
      "offset": [
        11181,
        11291
      ],
      "op": "PUSH2",
      "path": "75",
      "value": "0x1E30"
    },
    "7691": {
      "branch": 124,
      "fn": "ComponentController._checkStateTransition",
      "offset": [
        11181,
        11291
      ],
      "op": "JUMPI",
      "path": "75"
    },
    "7692": {
      "op": "POP"
    },
    "7693": {
      "fn": "ComponentController._checkStateTransition",
      "offset": [
        11257,
        11291
      ],
      "op": "PUSH1",
      "path": "75",
      "value": "0x6"
    },
    "7695": {
      "fn": "ComponentController._checkStateTransition",
      "offset": [
        11245,
        11253
      ],
      "op": "DUP2",
      "path": "75"
    },
    "7696": {
      "fn": "ComponentController._checkStateTransition",
      "offset": [
        11245,
        11291
      ],
      "op": "PUSH1",
      "path": "75",
      "value": "0x6"
    },
    "7698": {
      "fn": "ComponentController._checkStateTransition",
      "offset": [
        11245,
        11291
      ],
      "op": "DUP2",
      "path": "75"
    },
    "7699": {
      "fn": "ComponentController._checkStateTransition",
      "offset": [
        11245,
        11291
      ],
      "op": "GT",
      "path": "75"
    },
    "7700": {
      "fn": "ComponentController._checkStateTransition",
      "offset": [
        11245,
        11291
      ],
      "op": "ISZERO",
      "path": "75"
    },
    "7701": {
      "fn": "ComponentController._checkStateTransition",
      "offset": [
        11245,
        11291
      ],
      "op": "PUSH2",
      "path": "75",
      "value": "0x1E2E"
    },
    "7704": {
      "fn": "ComponentController._checkStateTransition",
      "offset": [
        11245,
        11291
      ],
      "op": "JUMPI",
      "path": "75"
    },
    "7705": {
      "op": "PUSH4",
      "value": "0x4E487B71"
    },
    "7710": {
      "op": "PUSH1",
      "value": "0xE0"
    },
    "7712": {
      "op": "SHL"
    },
    "7713": {
      "fn": "ComponentController._checkStateTransition",
      "offset": [
        11245,
        11291
      ],
      "op": "PUSH1",
      "path": "75",
      "value": "0x0"
    },
    "7715": {
      "fn": "ComponentController._checkStateTransition",
      "offset": [
        11245,
        11291
      ],
      "op": "MSTORE",
      "path": "75"
    },
    "7716": {
      "fn": "ComponentController._checkStateTransition",
      "offset": [
        11245,
        11291
      ],
      "op": "PUSH1",
      "path": "75",
      "value": "0x21"
    },
    "7718": {
      "fn": "ComponentController._checkStateTransition",
      "offset": [
        11245,
        11291
      ],
      "op": "PUSH1",
      "path": "75",
      "value": "0x4"
    },
    "7720": {
      "fn": "ComponentController._checkStateTransition",
      "offset": [
        11245,
        11291
      ],
      "op": "MSTORE",
      "path": "75"
    },
    "7721": {
      "fn": "ComponentController._checkStateTransition",
      "offset": [
        11245,
        11291
      ],
      "op": "PUSH1",
      "path": "75",
      "value": "0x24"
    },
    "7723": {
      "fn": "ComponentController._checkStateTransition",
      "offset": [
        11245,
        11291
      ],
      "op": "PUSH1",
      "path": "75",
      "value": "0x0"
    },
    "7725": {
      "fn": "ComponentController._checkStateTransition",
      "offset": [
        11245,
        11291
      ],
      "op": "REVERT",
      "path": "75"
    },
    "7726": {
      "fn": "ComponentController._checkStateTransition",
      "offset": [
        11245,
        11291
      ],
      "op": "JUMPDEST",
      "path": "75"
    },
    "7727": {
      "branch": 125,
      "fn": "ComponentController._checkStateTransition",
      "offset": [
        11245,
        11291
      ],
      "op": "EQ",
      "path": "75"
    },
    "7728": {
      "fn": "ComponentController._checkStateTransition",
      "offset": [
        11181,
        11291
      ],
      "op": "JUMPDEST",
      "path": "75"
    },
    "7729": {
      "fn": "ComponentController._checkStateTransition",
      "offset": [
        11173,
        11355
      ],
      "op": "PUSH2",
      "path": "75",
      "value": "0x1AC4"
    },
    "7732": {
      "branch": 125,
      "fn": "ComponentController._checkStateTransition",
      "offset": [
        11173,
        11355
      ],
      "op": "JUMPI",
      "path": "75"
    },
    "7733": {
      "fn": "ComponentController._checkStateTransition",
      "offset": [
        11173,
        11355
      ],
      "op": "PUSH1",
      "path": "75",
      "value": "0x40"
    },
    "7735": {
      "fn": "ComponentController._checkStateTransition",
      "offset": [
        11173,
        11355
      ],
      "op": "MLOAD",
      "path": "75"
    },
    "7736": {
      "op": "PUSH3",
      "value": "0x461BCD"
    },
    "7740": {
      "op": "PUSH1",
      "value": "0xE5"
    },
    "7742": {
      "op": "SHL"
    },
    "7743": {
      "fn": "ComponentController._checkStateTransition",
      "offset": [
        11173,
        11355
      ],
      "op": "DUP2",
      "path": "75"
    },
    "7744": {
      "fn": "ComponentController._checkStateTransition",
      "offset": [
        11173,
        11355
      ],
      "op": "MSTORE",
      "path": "75"
    },
    "7745": {
      "op": "PUSH1",
      "value": "0x20"
    },
    "7747": {
      "fn": "ComponentController._checkStateTransition",
      "offset": [
        11173,
        11355
      ],
      "op": "PUSH1",
      "path": "75",
      "value": "0x4"
    },
    "7749": {
      "fn": "ComponentController._checkStateTransition",
      "offset": [
        11173,
        11355
      ],
      "op": "DUP3",
      "path": "75"
    },
    "7750": {
      "fn": "ComponentController._checkStateTransition",
      "offset": [
        11173,
        11355
      ],
      "op": "ADD",
      "path": "75"
    },
    "7751": {
      "op": "MSTORE"
    },
    "7752": {
      "op": "PUSH1",
      "value": "0x2A"
    },
    "7754": {
      "op": "PUSH1",
      "value": "0x24"
    },
    "7756": {
      "op": "DUP3"
    },
    "7757": {
      "op": "ADD"
    },
    "7758": {
      "op": "MSTORE"
    },
    "7759": {
      "op": "PUSH32",
      "value": "0x4552524F523A4343522D3032363A53555350454E4445445F494E56414C49445F"
    },
    "7792": {
      "op": "PUSH1",
      "value": "0x44"
    },
    "7794": {
      "op": "DUP3"
    },
    "7795": {
      "op": "ADD"
    },
    "7796": {
      "op": "MSTORE"
    },
    "7797": {
      "op": "PUSH10",
      "value": "0x2A2920A729A4AA24A7A7"
    },
    "7808": {
      "op": "PUSH1",
      "value": "0xB1"
    },
    "7810": {
      "op": "SHL"
    },
    "7811": {
      "op": "PUSH1",
      "value": "0x64"
    },
    "7813": {
      "op": "DUP3"
    },
    "7814": {
      "op": "ADD"
    },
    "7815": {
      "op": "MSTORE"
    },
    "7816": {
      "op": "PUSH1",
      "value": "0x84"
    },
    "7818": {
      "op": "ADD"
    },
    "7819": {
      "fn": "ComponentController._checkStateTransition",
      "offset": [
        11173,
        11355
      ],
      "op": "PUSH2",
      "path": "75",
      "value": "0x453"
    },
    "7822": {
      "op": "JUMP"
    },
    "7823": {
      "fn": "ComponentController._checkStateTransition",
      "offset": [
        11106,
        11446
      ],
      "op": "JUMPDEST",
      "path": "75"
    },
    "7824": {
      "fn": "ComponentController._checkStateTransition",
      "offset": [
        11386,
        11435
      ],
      "op": "PUSH1",
      "path": "75",
      "statement": 86,
      "value": "0x40"
    },
    "7826": {
      "fn": "ComponentController._checkStateTransition",
      "offset": [
        11386,
        11435
      ],
      "op": "MLOAD",
      "path": "75"
    },
    "7827": {
      "op": "PUSH3",
      "value": "0x461BCD"
    },
    "7831": {
      "op": "PUSH1",
      "value": "0xE5"
    },
    "7833": {
      "op": "SHL"
    },
    "7834": {
      "fn": "ComponentController._checkStateTransition",
      "offset": [
        11386,
        11435
      ],
      "op": "DUP2",
      "path": "75"
    },
    "7835": {
      "fn": "ComponentController._checkStateTransition",
      "offset": [
        11386,
        11435
      ],
      "op": "MSTORE",
      "path": "75"
    },
    "7836": {
      "op": "PUSH1",
      "value": "0x20"
    },
    "7838": {
      "fn": "ComponentController._checkStateTransition",
      "offset": [
        11386,
        11435
      ],
      "op": "PUSH1",
      "path": "75",
      "value": "0x4"
    },
    "7840": {
      "fn": "ComponentController._checkStateTransition",
      "offset": [
        11386,
        11435
      ],
      "op": "DUP3",
      "path": "75"
    },
    "7841": {
      "fn": "ComponentController._checkStateTransition",
      "offset": [
        11386,
        11435
      ],
      "op": "ADD",
      "path": "75"
    },
    "7842": {
      "op": "MSTORE"
    },
    "7843": {
      "op": "PUSH1",
      "value": "0x27"
    },
    "7845": {
      "op": "PUSH1",
      "value": "0x24"
    },
    "7847": {
      "op": "DUP3"
    },
    "7848": {
      "op": "ADD"
    },
    "7849": {
      "op": "MSTORE"
    },
    "7850": {
      "op": "PUSH32",
      "value": "0x4552524F523A4343522D3032373A494E495449414C5F53544154455F4E4F545F"
    },
    "7883": {
      "op": "PUSH1",
      "value": "0x44"
    },
    "7885": {
      "op": "DUP3"
    },
    "7886": {
      "op": "ADD"
    },
    "7887": {
      "op": "MSTORE"
    },
    "7888": {
      "op": "PUSH7",
      "value": "0x12105391131151"
    },
    "7896": {
      "op": "PUSH1",
      "value": "0xCA"
    },
    "7898": {
      "op": "SHL"
    },
    "7899": {
      "op": "PUSH1",
      "value": "0x64"
    },
    "7901": {
      "op": "DUP3"
    },
    "7902": {
      "op": "ADD"
    },
    "7903": {
      "op": "MSTORE"
    },
    "7904": {
      "op": "PUSH1",
      "value": "0x84"
    },
    "7906": {
      "op": "ADD"
    },
    "7907": {
      "fn": "ComponentController._checkStateTransition",
      "offset": [
        11386,
        11435
      ],
      "op": "PUSH2",
      "path": "75",
      "value": "0x453"
    },
    "7910": {
      "op": "JUMP"
    },
    "7911": {
      "fn": "EnumerableSet._at",
      "offset": [
        4811,
        4929
      ],
      "op": "JUMPDEST",
      "path": "27"
    },
    "7912": {
      "fn": "EnumerableSet._at",
      "offset": [
        4878,
        4885
      ],
      "op": "PUSH1",
      "path": "27",
      "value": "0x0"
    },
    "7914": {
      "fn": "EnumerableSet._at",
      "offset": [
        4904,
        4907
      ],
      "op": "DUP3",
      "path": "27",
      "statement": 87
    },
    "7915": {
      "fn": "EnumerableSet._at",
      "offset": [
        4904,
        4915
      ],
      "op": "PUSH1",
      "path": "27",
      "value": "0x0"
    },
    "7917": {
      "fn": "EnumerableSet._at",
      "offset": [
        4904,
        4915
      ],
      "op": "ADD",
      "path": "27"
    },
    "7918": {
      "fn": "EnumerableSet._at",
      "offset": [
        4916,
        4921
      ],
      "op": "DUP3",
      "path": "27"
    },
    "7919": {
      "fn": "EnumerableSet._at",
      "offset": [
        4904,
        4922
      ],
      "op": "DUP2",
      "path": "27"
    },
    "7920": {
      "fn": "EnumerableSet._at",
      "offset": [
        4904,
        4922
      ],
      "op": "SLOAD",
      "path": "27"
    },
    "7921": {
      "fn": "EnumerableSet._at",
      "offset": [
        4904,
        4922
      ],
      "op": "DUP2",
      "path": "27"
    },
    "7922": {
      "fn": "EnumerableSet._at",
      "offset": [
        4904,
        4922
      ],
      "op": "LT",
      "path": "27"
    },
    "7923": {
      "fn": "EnumerableSet._at",
      "offset": [
        4904,
        4922
      ],
      "op": "PUSH2",
      "path": "27",
      "value": "0x1F0C"
    },
    "7926": {
      "fn": "EnumerableSet._at",
      "offset": [
        4904,
        4922
      ],
      "op": "JUMPI",
      "path": "27"
    },
    "7927": {
      "op": "PUSH4",
      "value": "0x4E487B71"
    },
    "7932": {
      "op": "PUSH1",
      "value": "0xE0"
    },
    "7934": {
      "op": "SHL"
    },
    "7935": {
      "fn": "EnumerableSet._at",
      "offset": [
        4904,
        4922
      ],
      "op": "PUSH1",
      "path": "27",
      "value": "0x0"
    },
    "7937": {
      "fn": "EnumerableSet._at",
      "offset": [
        4904,
        4922
      ],
      "op": "MSTORE",
      "path": "27"
    },
    "7938": {
      "fn": "EnumerableSet._at",
      "offset": [
        4904,
        4922
      ],
      "op": "PUSH1",
      "path": "27",
      "value": "0x32"
    },
    "7940": {
      "fn": "EnumerableSet._at",
      "offset": [
        4904,
        4922
      ],
      "op": "PUSH1",
      "path": "27",
      "value": "0x4"
    },
    "7942": {
      "fn": "EnumerableSet._at",
      "offset": [
        4904,
        4922
      ],
      "op": "MSTORE",
      "path": "27"
    },
    "7943": {
      "fn": "EnumerableSet._at",
      "offset": [
        4904,
        4922
      ],
      "op": "PUSH1",
      "path": "27",
      "value": "0x24"
    },
    "7945": {
      "fn": "EnumerableSet._at",
      "offset": [
        4904,
        4922
      ],
      "op": "PUSH1",
      "path": "27",
      "value": "0x0"
    },
    "7947": {
      "fn": "EnumerableSet._at",
      "offset": [
        4904,
        4922
      ],
      "op": "REVERT",
      "path": "27"
    },
    "7948": {
      "fn": "EnumerableSet._at",
      "offset": [
        4904,
        4922
      ],
      "op": "JUMPDEST",
      "path": "27"
    },
    "7949": {
      "fn": "EnumerableSet._at",
      "offset": [
        4904,
        4922
      ],
      "op": "SWAP1",
      "path": "27"
    },
    "7950": {
      "fn": "EnumerableSet._at",
      "offset": [
        4904,
        4922
      ],
      "op": "PUSH1",
      "path": "27",
      "value": "0x0"
    },
    "7952": {
      "fn": "EnumerableSet._at",
      "offset": [
        4904,
        4922
      ],
      "op": "MSTORE",
      "path": "27"
    },
    "7953": {
      "fn": "EnumerableSet._at",
      "offset": [
        4904,
        4922
      ],
      "op": "PUSH1",
      "path": "27",
      "value": "0x20"
    },
    "7955": {
      "fn": "EnumerableSet._at",
      "offset": [
        4904,
        4922
      ],
      "op": "PUSH1",
      "path": "27",
      "value": "0x0"
    },
    "7957": {
      "fn": "EnumerableSet._at",
      "offset": [
        4904,
        4922
      ],
      "op": "KECCAK256",
      "path": "27"
    },
    "7958": {
      "fn": "EnumerableSet._at",
      "offset": [
        4904,
        4922
      ],
      "op": "ADD",
      "path": "27"
    },
    "7959": {
      "fn": "EnumerableSet._at",
      "offset": [
        4904,
        4922
      ],
      "op": "SLOAD",
      "path": "27"
    },
    "7960": {
      "fn": "EnumerableSet._at",
      "offset": [
        4897,
        4922
      ],
      "op": "SWAP1",
      "path": "27"
    },
    "7961": {
      "fn": "EnumerableSet._at",
      "offset": [
        4897,
        4922
      ],
      "op": "POP",
      "path": "27"
    },
    "7962": {
      "fn": "EnumerableSet._at",
      "offset": [
        4811,
        4929
      ],
      "op": "SWAP3",
      "path": "27"
    },
    "7963": {
      "fn": "EnumerableSet._at",
      "offset": [
        4811,
        4929
      ],
      "op": "SWAP2",
      "path": "27"
    },
    "7964": {
      "fn": "EnumerableSet._at",
      "offset": [
        4811,
        4929
      ],
      "op": "POP",
      "path": "27"
    },
    "7965": {
      "fn": "EnumerableSet._at",
      "offset": [
        4811,
        4929
      ],
      "op": "POP",
      "path": "27"
    },
    "7966": {
      "fn": "EnumerableSet._at",
      "jump": "o",
      "offset": [
        4811,
        4929
      ],
      "op": "JUMP",
      "path": "27"
    },
    "7967": {
      "fn": "EnumerableSet._add",
      "offset": [
        2113,
        2517
      ],
      "op": "JUMPDEST",
      "path": "27"
    },
    "7968": {
      "fn": "EnumerableSet._add",
      "offset": [
        2176,
        2180
      ],
      "op": "PUSH1",
      "path": "27",
      "value": "0x0"
    },
    "7970": {
      "fn": "EnumerableSet._contains",
      "offset": [
        4250,
        4269
      ],
      "op": "DUP2",
      "path": "27"
    },
    "7971": {
      "fn": "EnumerableSet._contains",
      "offset": [
        4250,
        4269
      ],
      "op": "DUP2",
      "path": "27"
    },
    "7972": {
      "fn": "EnumerableSet._contains",
      "offset": [
        4250,
        4269
      ],
      "op": "MSTORE",
      "path": "27"
    },
    "7973": {
      "fn": "EnumerableSet._contains",
      "offset": [
        4250,
        4262
      ],
      "op": "PUSH1",
      "path": "27",
      "value": "0x1"
    },
    "7975": {
      "fn": "EnumerableSet._contains",
      "offset": [
        4250,
        4262
      ],
      "op": "DUP4",
      "path": "27"
    },
    "7976": {
      "fn": "EnumerableSet._contains",
      "offset": [
        4250,
        4262
      ],
      "op": "ADD",
      "path": "27"
    },
    "7977": {
      "fn": "EnumerableSet._contains",
      "offset": [
        4250,
        4269
      ],
      "op": "PUSH1",
      "path": "27",
      "value": "0x20"
    },
    "7979": {
      "fn": "EnumerableSet._contains",
      "offset": [
        4250,
        4269
      ],
      "op": "MSTORE",
      "path": "27"
    },
    "7980": {
      "fn": "EnumerableSet._contains",
      "offset": [
        4250,
        4269
      ],
      "op": "PUSH1",
      "path": "27",
      "value": "0x40"
    },
    "7982": {
      "fn": "EnumerableSet._contains",
      "offset": [
        4250,
        4269
      ],
      "op": "DUP2",
      "path": "27"
    },
    "7983": {
      "fn": "EnumerableSet._contains",
      "offset": [
        4250,
        4269
      ],
      "op": "KECCAK256",
      "path": "27"
    },
    "7984": {
      "fn": "EnumerableSet._contains",
      "offset": [
        4250,
        4269
      ],
      "op": "SLOAD",
      "path": "27"
    },
    "7985": {
      "fn": "EnumerableSet._add",
      "offset": [
        2192,
        2511
      ],
      "op": "PUSH2",
      "path": "27",
      "value": "0x1F66"
    },
    "7988": {
      "fn": "EnumerableSet._add",
      "offset": [
        2192,
        2511
      ],
      "op": "JUMPI",
      "path": "27"
    },
    "7989": {
      "op": "POP"
    },
    "7990": {
      "fn": "EnumerableSet._add",
      "offset": [
        2234,
        2257
      ],
      "op": "DUP2",
      "path": "27",
      "statement": 88
    },
    "7991": {
      "fn": "EnumerableSet._add",
      "offset": [
        2234,
        2257
      ],
      "op": "SLOAD",
      "path": "27"
    },
    "7992": {
      "fn": "EnumerableSet._add",
      "offset": [
        2234,
        2257
      ],
      "op": "PUSH1",
      "path": "27",
      "value": "0x1"
    },
    "7994": {
      "fn": "EnumerableSet._add",
      "offset": [
        2234,
        2257
      ],
      "op": "DUP2",
      "path": "27"
    },
    "7995": {
      "fn": "EnumerableSet._add",
      "offset": [
        2234,
        2257
      ],
      "op": "DUP2",
      "path": "27"
    },
    "7996": {
      "fn": "EnumerableSet._add",
      "offset": [
        2234,
        2257
      ],
      "op": "ADD",
      "path": "27"
    },
    "7997": {
      "fn": "EnumerableSet._add",
      "offset": [
        2234,
        2257
      ],
      "op": "DUP5",
      "path": "27"
    },
    "7998": {
      "fn": "EnumerableSet._add",
      "offset": [
        2234,
        2257
      ],
      "op": "SSTORE",
      "path": "27"
    },
    "7999": {
      "fn": "EnumerableSet._add",
      "offset": [
        2234,
        2245
      ],
      "op": "PUSH1",
      "path": "27",
      "value": "0x0"
    },
    "8001": {
      "fn": "EnumerableSet._add",
      "offset": [
        2234,
        2257
      ],
      "op": "DUP5",
      "path": "27"
    },
    "8002": {
      "fn": "EnumerableSet._add",
      "offset": [
        2234,
        2257
      ],
      "op": "DUP2",
      "path": "27"
    },
    "8003": {
      "fn": "EnumerableSet._add",
      "offset": [
        2234,
        2257
      ],
      "op": "MSTORE",
      "path": "27"
    },
    "8004": {
      "fn": "EnumerableSet._add",
      "offset": [
        2234,
        2257
      ],
      "op": "PUSH1",
      "path": "27",
      "value": "0x20"
    },
    "8006": {
      "fn": "EnumerableSet._add",
      "offset": [
        2234,
        2257
      ],
      "op": "DUP1",
      "path": "27"
    },
    "8007": {
      "fn": "EnumerableSet._add",
      "offset": [
        2234,
        2257
      ],
      "op": "DUP3",
      "path": "27"
    },
    "8008": {
      "fn": "EnumerableSet._add",
      "offset": [
        2234,
        2257
      ],
      "op": "KECCAK256",
      "path": "27"
    },
    "8009": {
      "fn": "EnumerableSet._add",
      "offset": [
        2234,
        2257
      ],
      "op": "SWAP1",
      "path": "27"
    },
    "8010": {
      "fn": "EnumerableSet._add",
      "offset": [
        2234,
        2257
      ],
      "op": "SWAP4",
      "path": "27"
    },
    "8011": {
      "fn": "EnumerableSet._add",
      "offset": [
        2234,
        2257
      ],
      "op": "ADD",
      "path": "27"
    },
    "8012": {
      "fn": "EnumerableSet._add",
      "offset": [
        2234,
        2257
      ],
      "op": "DUP5",
      "path": "27"
    },
    "8013": {
      "fn": "EnumerableSet._add",
      "offset": [
        2234,
        2257
      ],
      "op": "SWAP1",
      "path": "27"
    },
    "8014": {
      "fn": "EnumerableSet._add",
      "offset": [
        2234,
        2257
      ],
      "op": "SSTORE",
      "path": "27"
    },
    "8015": {
      "fn": "EnumerableSet._add",
      "offset": [
        2414,
        2432
      ],
      "op": "DUP5",
      "path": "27",
      "statement": 89
    },
    "8016": {
      "fn": "EnumerableSet._add",
      "offset": [
        2414,
        2432
      ],
      "op": "SLOAD",
      "path": "27"
    },
    "8017": {
      "fn": "EnumerableSet._add",
      "offset": [
        2392,
        2411
      ],
      "op": "DUP5",
      "path": "27"
    },
    "8018": {
      "fn": "EnumerableSet._add",
      "offset": [
        2392,
        2411
      ],
      "op": "DUP3",
      "path": "27"
    },
    "8019": {
      "fn": "EnumerableSet._add",
      "offset": [
        2392,
        2411
      ],
      "op": "MSTORE",
      "path": "27"
    },
    "8020": {
      "fn": "EnumerableSet._add",
      "offset": [
        2392,
        2404
      ],
      "op": "DUP3",
      "path": "27"
    },
    "8021": {
      "fn": "EnumerableSet._add",
      "offset": [
        2392,
        2404
      ],
      "op": "DUP7",
      "path": "27"
    },
    "8022": {
      "fn": "EnumerableSet._add",
      "offset": [
        2392,
        2404
      ],
      "op": "ADD",
      "path": "27"
    },
    "8023": {
      "fn": "EnumerableSet._add",
      "offset": [
        2392,
        2411
      ],
      "op": "SWAP1",
      "path": "27"
    },
    "8024": {
      "fn": "EnumerableSet._add",
      "offset": [
        2392,
        2411
      ],
      "op": "SWAP4",
      "path": "27"
    },
    "8025": {
      "fn": "EnumerableSet._add",
      "offset": [
        2392,
        2411
      ],
      "op": "MSTORE",
      "path": "27"
    },
    "8026": {
      "fn": "EnumerableSet._add",
      "offset": [
        2392,
        2411
      ],
      "op": "PUSH1",
      "path": "27",
      "value": "0x40"
    },
    "8028": {
      "fn": "EnumerableSet._add",
      "offset": [
        2392,
        2411
      ],
      "op": "SWAP1",
      "path": "27"
    },
    "8029": {
      "fn": "EnumerableSet._add",
      "offset": [
        2392,
        2411
      ],
      "op": "KECCAK256",
      "path": "27"
    },
    "8030": {
      "fn": "EnumerableSet._add",
      "offset": [
        2392,
        2432
      ],
      "op": "SWAP2",
      "path": "27"
    },
    "8031": {
      "fn": "EnumerableSet._add",
      "offset": [
        2392,
        2432
      ],
      "op": "SWAP1",
      "path": "27"
    },
    "8032": {
      "fn": "EnumerableSet._add",
      "offset": [
        2392,
        2432
      ],
      "op": "SWAP2",
      "path": "27"
    },
    "8033": {
      "fn": "EnumerableSet._add",
      "offset": [
        2392,
        2432
      ],
      "op": "SSTORE",
      "path": "27"
    },
    "8034": {
      "fn": "EnumerableSet._add",
      "offset": [
        2446,
        2457
      ],
      "op": "PUSH2",
      "path": "27",
      "statement": 90,
      "value": "0x1847"
    },
    "8037": {
      "fn": "EnumerableSet._add",
      "offset": [
        2446,
        2457
      ],
      "op": "JUMP",
      "path": "27"
    },
    "8038": {
      "fn": "EnumerableSet._add",
      "offset": [
        2192,
        2511
      ],
      "op": "JUMPDEST",
      "path": "27"
    },
    "8039": {
      "op": "POP"
    },
    "8040": {
      "fn": "EnumerableSet._add",
      "offset": [
        2495,
        2500
      ],
      "op": "PUSH1",
      "path": "27",
      "statement": 91,
      "value": "0x0"
    },
    "8042": {
      "fn": "EnumerableSet._add",
      "offset": [
        2488,
        2500
      ],
      "op": "PUSH2",
      "path": "27",
      "value": "0x1847"
    },
    "8045": {
      "fn": "EnumerableSet._add",
      "offset": [
        2488,
        2500
      ],
      "op": "JUMP",
      "path": "27"
    },
    "8046": {
      "op": "JUMPDEST"
    },
    "8047": {
      "op": "PUSH1",
      "value": "0x0"
    },
    "8049": {
      "op": "PUSH1",
      "value": "0x20"
    },
    "8051": {
      "op": "DUP3"
    },
    "8052": {
      "op": "DUP5"
    },
    "8053": {
      "op": "SUB"
    },
    "8054": {
      "op": "SLT"
    },
    "8055": {
      "op": "ISZERO"
    },
    "8056": {
      "op": "PUSH2",
      "value": "0x1F7F"
    },
    "8059": {
      "op": "JUMPI"
    },
    "8060": {
      "op": "DUP1"
    },
    "8061": {
      "op": "DUP2"
    },
    "8062": {
      "op": "REVERT"
    },
    "8063": {
      "op": "JUMPDEST"
    },
    "8064": {
      "op": "DUP2"
    },
    "8065": {
      "op": "CALLDATALOAD"
    },
    "8066": {
      "op": "PUSH2",
      "value": "0x1F8A"
    },
    "8069": {
      "op": "DUP2"
    },
    "8070": {
      "op": "PUSH2",
      "value": "0x219E"
    },
    "8073": {
      "jump": "i",
      "op": "JUMP"
    },
    "8074": {
      "op": "JUMPDEST"
    },
    "8075": {
      "op": "SWAP4"
    },
    "8076": {
      "op": "SWAP3"
    },
    "8077": {
      "op": "POP"
    },
    "8078": {
      "op": "POP"
    },
    "8079": {
      "op": "POP"
    },
    "8080": {
      "jump": "o",
      "op": "JUMP"
    },
    "8081": {
      "op": "JUMPDEST"
    },
    "8082": {
      "op": "PUSH1",
      "value": "0x0"
    },
    "8084": {
      "op": "PUSH1",
      "value": "0x20"
    },
    "8086": {
      "op": "DUP3"
    },
    "8087": {
      "op": "DUP5"
    },
    "8088": {
      "op": "SUB"
    },
    "8089": {
      "op": "SLT"
    },
    "8090": {
      "op": "ISZERO"
    },
    "8091": {
      "op": "PUSH2",
      "value": "0x1FA2"
    },
    "8094": {
      "op": "JUMPI"
    },
    "8095": {
      "op": "DUP1"
    },
    "8096": {
      "op": "DUP2"
    },
    "8097": {
      "op": "REVERT"
    },
    "8098": {
      "op": "JUMPDEST"
    },
    "8099": {
      "op": "DUP2"
    },
    "8100": {
      "op": "MLOAD"
    },
    "8101": {
      "op": "PUSH2",
      "value": "0x1F8A"
    },
    "8104": {
      "op": "DUP2"
    },
    "8105": {
      "op": "PUSH2",
      "value": "0x219E"
    },
    "8108": {
      "jump": "i",
      "op": "JUMP"
    },
    "8109": {
      "op": "JUMPDEST"
    },
    "8110": {
      "op": "PUSH1",
      "value": "0x0"
    },
    "8112": {
      "op": "PUSH1",
      "value": "0x20"
    },
    "8114": {
      "op": "DUP3"
    },
    "8115": {
      "op": "DUP5"
    },
    "8116": {
      "op": "SUB"
    },
    "8117": {
      "op": "SLT"
    },
    "8118": {
      "op": "ISZERO"
    },
    "8119": {
      "op": "PUSH2",
      "value": "0x1FBE"
    },
    "8122": {
      "op": "JUMPI"
    },
    "8123": {
      "op": "DUP1"
    },
    "8124": {
      "op": "DUP2"
    },
    "8125": {
      "op": "REVERT"
    },
    "8126": {
      "op": "JUMPDEST"
    },
    "8127": {
      "op": "DUP2"
    },
    "8128": {
      "op": "MLOAD"
    },
    "8129": {
      "op": "DUP1"
    },
    "8130": {
      "op": "ISZERO"
    },
    "8131": {
      "op": "ISZERO"
    },
    "8132": {
      "op": "DUP2"
    },
    "8133": {
      "op": "EQ"
    },
    "8134": {
      "op": "PUSH2",
      "value": "0x1F8A"
    },
    "8137": {
      "op": "JUMPI"
    },
    "8138": {
      "op": "DUP2"
    },
    "8139": {
      "op": "DUP3"
    },
    "8140": {
      "op": "REVERT"
    },
    "8141": {
      "op": "JUMPDEST"
    },
    "8142": {
      "op": "PUSH1",
      "value": "0x0"
    },
    "8144": {
      "op": "PUSH1",
      "value": "0x20"
    },
    "8146": {
      "op": "DUP3"
    },
    "8147": {
      "op": "DUP5"
    },
    "8148": {
      "op": "SUB"
    },
    "8149": {
      "op": "SLT"
    },
    "8150": {
      "op": "ISZERO"
    },
    "8151": {
      "op": "PUSH2",
      "value": "0x1FDE"
    },
    "8154": {
      "op": "JUMPI"
    },
    "8155": {
      "op": "DUP1"
    },
    "8156": {
      "op": "DUP2"
    },
    "8157": {
      "op": "REVERT"
    },
    "8158": {
      "op": "JUMPDEST"
    },
    "8159": {
      "op": "POP"
    },
    "8160": {
      "op": "MLOAD"
    },
    "8161": {
      "op": "SWAP2"
    },
    "8162": {
      "op": "SWAP1"
    },
    "8163": {
      "op": "POP"
    },
    "8164": {
      "jump": "o",
      "op": "JUMP"
    },
    "8165": {
      "op": "JUMPDEST"
    },
    "8166": {
      "op": "PUSH1",
      "value": "0x0"
    },
    "8168": {
      "op": "PUSH1",
      "value": "0x20"
    },
    "8170": {
      "op": "DUP3"
    },
    "8171": {
      "op": "DUP5"
    },
    "8172": {
      "op": "SUB"
    },
    "8173": {
      "op": "SLT"
    },
    "8174": {
      "op": "ISZERO"
    },
    "8175": {
      "op": "PUSH2",
      "value": "0x1FF6"
    },
    "8178": {
      "op": "JUMPI"
    },
    "8179": {
      "op": "DUP1"
    },
    "8180": {
      "op": "DUP2"
    },
    "8181": {
      "op": "REVERT"
    },
    "8182": {
      "op": "JUMPDEST"
    },
    "8183": {
      "op": "DUP2"
    },
    "8184": {
      "op": "CALLDATALOAD"
    },
    "8185": {
      "op": "PUSH2",
      "value": "0x1F8A"
    },
    "8188": {
      "op": "DUP2"
    },
    "8189": {
      "op": "PUSH2",
      "value": "0x21B6"
    },
    "8192": {
      "jump": "i",
      "op": "JUMP"
    },
    "8193": {
      "op": "JUMPDEST"
    },
    "8194": {
      "op": "PUSH1",
      "value": "0x0"
    },
    "8196": {
      "op": "PUSH1",
      "value": "0x20"
    },
    "8198": {
      "op": "DUP3"
    },
    "8199": {
      "op": "DUP5"
    },
    "8200": {
      "op": "SUB"
    },
    "8201": {
      "op": "SLT"
    },
    "8202": {
      "op": "ISZERO"
    },
    "8203": {
      "op": "PUSH2",
      "value": "0x2012"
    },
    "8206": {
      "op": "JUMPI"
    },
    "8207": {
      "op": "DUP1"
    },
    "8208": {
      "op": "DUP2"
    },
    "8209": {
      "op": "REVERT"
    },
    "8210": {
      "op": "JUMPDEST"
    },
    "8211": {
      "op": "DUP2"
    },
    "8212": {
      "op": "MLOAD"
    },
    "8213": {
      "op": "PUSH2",
      "value": "0x1F8A"
    },
    "8216": {
      "op": "DUP2"
    },
    "8217": {
      "op": "PUSH2",
      "value": "0x21B6"
    },
    "8220": {
      "jump": "i",
      "op": "JUMP"
    },
    "8221": {
      "op": "JUMPDEST"
    },
    "8222": {
      "op": "PUSH1",
      "value": "0x0"
    },
    "8224": {
      "op": "PUSH1",
      "value": "0x20"
    },
    "8226": {
      "op": "DUP3"
    },
    "8227": {
      "op": "DUP5"
    },
    "8228": {
      "op": "SUB"
    },
    "8229": {
      "op": "SLT"
    },
    "8230": {
      "op": "ISZERO"
    },
    "8231": {
      "op": "PUSH2",
      "value": "0x202E"
    },
    "8234": {
      "op": "JUMPI"
    },
    "8235": {
      "op": "DUP1"
    },
    "8236": {
      "op": "DUP2"
    },
    "8237": {
      "op": "REVERT"
    },
    "8238": {
      "op": "JUMPDEST"
    },
    "8239": {
      "op": "POP"
    },
    "8240": {
      "op": "CALLDATALOAD"
    },
    "8241": {
      "op": "SWAP2"
    },
    "8242": {
      "op": "SWAP1"
    },
    "8243": {
      "op": "POP"
    },
    "8244": {
      "jump": "o",
      "op": "JUMP"
    },
    "8245": {
      "op": "JUMPDEST"
    },
    "8246": {
      "op": "PUSH1",
      "value": "0x7"
    },
    "8248": {
      "op": "DUP2"
    },
    "8249": {
      "op": "LT"
    },
    "8250": {
      "op": "PUSH2",
      "value": "0x2045"
    },
    "8253": {
      "op": "JUMPI"
    },
    "8254": {
      "op": "PUSH2",
      "value": "0x2045"
    },
    "8257": {
      "op": "PUSH2",
      "value": "0x2188"
    },
    "8260": {
      "jump": "i",
      "op": "JUMP"
    },
    "8261": {
      "op": "JUMPDEST"
    },
    "8262": {
      "op": "SWAP1"
    },
    "8263": {
      "op": "MSTORE"
    },
    "8264": {
      "jump": "o",
      "op": "JUMP"
    },
    "8265": {
      "op": "JUMPDEST"
    },
    "8266": {
      "op": "PUSH1",
      "value": "0x3"
    },
    "8268": {
      "op": "DUP2"
    },
    "8269": {
      "op": "LT"
    },
    "8270": {
      "op": "PUSH2",
      "value": "0x2045"
    },
    "8273": {
      "op": "JUMPI"
    },
    "8274": {
      "op": "PUSH2",
      "value": "0x2045"
    },
    "8277": {
      "op": "PUSH2",
      "value": "0x2188"
    },
    "8280": {
      "jump": "i",
      "op": "JUMP"
    },
    "8281": {
      "op": "JUMPDEST"
    },
    "8282": {
      "op": "DUP5"
    },
    "8283": {
      "op": "DUP2"
    },
    "8284": {
      "op": "MSTORE"
    },
    "8285": {
      "op": "PUSH1",
      "value": "0x80"
    },
    "8287": {
      "op": "DUP2"
    },
    "8288": {
      "op": "ADD"
    },
    "8289": {
      "op": "PUSH2",
      "value": "0x206D"
    },
    "8292": {
      "op": "PUSH1",
      "value": "0x20"
    },
    "8294": {
      "op": "DUP4"
    },
    "8295": {
      "op": "ADD"
    },
    "8296": {
      "op": "DUP7"
    },
    "8297": {
      "op": "PUSH2",
      "value": "0x2049"
    },
    "8300": {
      "jump": "i",
      "op": "JUMP"
    },
    "8301": {
      "op": "JUMPDEST"
    },
    "8302": {
      "op": "PUSH1",
      "value": "0x1"
    },
    "8304": {
      "op": "PUSH1",
      "value": "0x1"
    },
    "8306": {
      "op": "PUSH1",
      "value": "0xA0"
    },
    "8308": {
      "op": "SHL"
    },
    "8309": {
      "op": "SUB"
    },
    "8310": {
      "op": "SWAP4"
    },
    "8311": {
      "op": "SWAP1"
    },
    "8312": {
      "op": "SWAP4"
    },
    "8313": {
      "op": "AND"
    },
    "8314": {
      "op": "PUSH1",
      "value": "0x40"
    },
    "8316": {
      "op": "DUP3"
    },
    "8317": {
      "op": "ADD"
    },
    "8318": {
      "op": "MSTORE"
    },
    "8319": {
      "op": "PUSH1",
      "value": "0x60"
    },
    "8321": {
      "op": "ADD"
    },
    "8322": {
      "op": "MSTORE"
    },
    "8323": {
      "op": "SWAP3"
    },
    "8324": {
      "op": "SWAP2"
    },
    "8325": {
      "op": "POP"
    },
    "8326": {
      "op": "POP"
    },
    "8327": {
      "jump": "o",
      "op": "JUMP"
    },
    "8328": {
      "op": "JUMPDEST"
    },
    "8329": {
      "op": "PUSH1",
      "value": "0x20"
    },
    "8331": {
      "op": "DUP2"
    },
    "8332": {
      "op": "ADD"
    },
    "8333": {
      "op": "PUSH2",
      "value": "0x1847"
    },
    "8336": {
      "op": "DUP3"
    },
    "8337": {
      "op": "DUP5"
    },
    "8338": {
      "op": "PUSH2",
      "value": "0x2035"
    },
    "8341": {
      "jump": "i",
      "op": "JUMP"
    },
    "8342": {
      "op": "JUMPDEST"
    },
    "8343": {
      "op": "PUSH1",
      "value": "0x20"
    },
    "8345": {
      "op": "DUP2"
    },
    "8346": {
      "op": "ADD"
    },
    "8347": {
      "op": "PUSH2",
      "value": "0x1847"
    },
    "8350": {
      "op": "DUP3"
    },
    "8351": {
      "op": "DUP5"
    },
    "8352": {
      "op": "PUSH2",
      "value": "0x2049"
    },
    "8355": {
      "jump": "i",
      "op": "JUMP"
    },
    "8356": {
      "op": "JUMPDEST"
    },
    "8357": {
      "op": "PUSH1",
      "value": "0x20"
    },
    "8359": {
      "op": "DUP1"
    },
    "8360": {
      "op": "DUP3"
    },
    "8361": {
      "op": "MSTORE"
    },
    "8362": {
      "op": "PUSH1",
      "value": "0x2B"
    },
    "8364": {
      "op": "SWAP1"
    },
    "8365": {
      "op": "DUP3"
    },
    "8366": {
      "op": "ADD"
    },
    "8367": {
      "op": "MSTORE"
    },
    "8368": {
      "op": "PUSH32",
      "value": "0x4552524F523A4343522D3030323A4E4F545F494E5354414E43455F4F50455241"
    },
    "8401": {
      "op": "PUSH1",
      "value": "0x40"
    },
    "8403": {
      "op": "DUP3"
    },
    "8404": {
      "op": "ADD"
    },
    "8405": {
      "op": "MSTORE"
    },
    "8406": {
      "op": "PUSH11",
      "value": "0x544F525F53455256494345"
    },
    "8418": {
      "op": "PUSH1",
      "value": "0xA8"
    },
    "8420": {
      "op": "SHL"
    },
    "8421": {
      "op": "PUSH1",
      "value": "0x60"
    },
    "8423": {
      "op": "DUP3"
    },
    "8424": {
      "op": "ADD"
    },
    "8425": {
      "op": "MSTORE"
    },
    "8426": {
      "op": "PUSH1",
      "value": "0x80"
    },
    "8428": {
      "op": "ADD"
    },
    "8429": {
      "op": "SWAP1"
    },
    "8430": {
      "jump": "o",
      "op": "JUMP"
    },
    "8431": {
      "op": "JUMPDEST"
    },
    "8432": {
      "op": "PUSH1",
      "value": "0x20"
    },
    "8434": {
      "op": "DUP1"
    },
    "8435": {
      "op": "DUP3"
    },
    "8436": {
      "op": "MSTORE"
    },
    "8437": {
      "op": "PUSH1",
      "value": "0x29"
    },
    "8439": {
      "op": "SWAP1"
    },
    "8440": {
      "op": "DUP3"
    },
    "8441": {
      "op": "ADD"
    },
    "8442": {
      "op": "MSTORE"
    },
    "8443": {
      "op": "PUSH32",
      "value": "0x4552524F523A4343522D3030313A4E4F545F434F4D504F4E454E545F4F574E45"
    },
    "8476": {
      "op": "PUSH1",
      "value": "0x40"
    },
    "8478": {
      "op": "DUP3"
    },
    "8479": {
      "op": "ADD"
    },
    "8480": {
      "op": "MSTORE"
    },
    "8481": {
      "op": "PUSH9",
      "value": "0x525F53455256494345"
    },
    "8491": {
      "op": "PUSH1",
      "value": "0xB8"
    },
    "8493": {
      "op": "SHL"
    },
    "8494": {
      "op": "PUSH1",
      "value": "0x60"
    },
    "8496": {
      "op": "DUP3"
    },
    "8497": {
      "op": "ADD"
    },
    "8498": {
      "op": "MSTORE"
    },
    "8499": {
      "op": "PUSH1",
      "value": "0x80"
    },
    "8501": {
      "op": "ADD"
    },
    "8502": {
      "op": "SWAP1"
    },
    "8503": {
      "jump": "o",
      "op": "JUMP"
    },
    "8504": {
      "op": "JUMPDEST"
    },
    "8505": {
      "op": "DUP4"
    },
    "8506": {
      "op": "DUP2"
    },
    "8507": {
      "op": "MSTORE"
    },
    "8508": {
      "op": "PUSH1",
      "value": "0x60"
    },
    "8510": {
      "op": "DUP2"
    },
    "8511": {
      "op": "ADD"
    },
    "8512": {
      "op": "PUSH2",
      "value": "0x214C"
    },
    "8515": {
      "op": "PUSH1",
      "value": "0x20"
    },
    "8517": {
      "op": "DUP4"
    },
    "8518": {
      "op": "ADD"
    },
    "8519": {
      "op": "DUP6"
    },
    "8520": {
      "op": "PUSH2",
      "value": "0x2035"
    },
    "8523": {
      "jump": "i",
      "op": "JUMP"
    },
    "8524": {
      "op": "JUMPDEST"
    },
    "8525": {
      "op": "PUSH2",
      "value": "0x2159"
    },
    "8528": {
      "op": "PUSH1",
      "value": "0x40"
    },
    "8530": {
      "op": "DUP4"
    },
    "8531": {
      "op": "ADD"
    },
    "8532": {
      "op": "DUP5"
    },
    "8533": {
      "op": "PUSH2",
      "value": "0x2035"
    },
    "8536": {
      "jump": "i",
      "op": "JUMP"
    },
    "8537": {
      "op": "JUMPDEST"
    },
    "8538": {
      "op": "SWAP5"
    },
    "8539": {
      "op": "SWAP4"
    },
    "8540": {
      "op": "POP"
    },
    "8541": {
      "op": "POP"
    },
    "8542": {
      "op": "POP"
    },
    "8543": {
      "op": "POP"
    },
    "8544": {
      "jump": "o",
      "op": "JUMP"
    },
    "8545": {
      "op": "JUMPDEST"
    },
    "8546": {
      "op": "PUSH1",
      "value": "0x0"
    },
    "8548": {
      "op": "PUSH1",
      "value": "0x0"
    },
    "8550": {
      "op": "NOT"
    },
    "8551": {
      "op": "DUP3"
    },
    "8552": {
      "op": "EQ"
    },
    "8553": {
      "op": "ISZERO"
    },
    "8554": {
      "op": "PUSH2",
      "value": "0x2181"
    },
    "8557": {
      "op": "JUMPI"
    },
    "8558": {
      "op": "PUSH4",
      "value": "0x4E487B71"
    },
    "8563": {
      "op": "PUSH1",
      "value": "0xE0"
    },
    "8565": {
      "op": "SHL"
    },
    "8566": {
      "op": "DUP2"
    },
    "8567": {
      "op": "MSTORE"
    },
    "8568": {
      "op": "PUSH1",
      "value": "0x11"
    },
    "8570": {
      "op": "PUSH1",
      "value": "0x4"
    },
    "8572": {
      "op": "MSTORE"
    },
    "8573": {
      "op": "PUSH1",
      "value": "0x24"
    },
    "8575": {
      "op": "DUP2"
    },
    "8576": {
      "op": "REVERT"
    },
    "8577": {
      "op": "JUMPDEST"
    },
    "8578": {
      "op": "POP"
    },
    "8579": {
      "op": "PUSH1",
      "value": "0x1"
    },
    "8581": {
      "op": "ADD"
    },
    "8582": {
      "op": "SWAP1"
    },
    "8583": {
      "jump": "o",
      "op": "JUMP"
    },
    "8584": {
      "op": "JUMPDEST"
    },
    "8585": {
      "op": "PUSH4",
      "value": "0x4E487B71"
    },
    "8590": {
      "op": "PUSH1",
      "value": "0xE0"
    },
    "8592": {
      "op": "SHL"
    },
    "8593": {
      "op": "PUSH1",
      "value": "0x0"
    },
    "8595": {
      "op": "MSTORE"
    },
    "8596": {
      "op": "PUSH1",
      "value": "0x21"
    },
    "8598": {
      "op": "PUSH1",
      "value": "0x4"
    },
    "8600": {
      "op": "MSTORE"
    },
    "8601": {
      "op": "PUSH1",
      "value": "0x24"
    },
    "8603": {
      "op": "PUSH1",
      "value": "0x0"
    },
    "8605": {
      "op": "REVERT"
    },
    "8606": {
      "op": "JUMPDEST"
    },
    "8607": {
      "op": "PUSH1",
      "value": "0x1"
    },
    "8609": {
      "op": "PUSH1",
      "value": "0x1"
    },
    "8611": {
      "op": "PUSH1",
      "value": "0xA0"
    },
    "8613": {
      "op": "SHL"
    },
    "8614": {
      "op": "SUB"
    },
    "8615": {
      "op": "DUP2"
    },
    "8616": {
      "op": "AND"
    },
    "8617": {
      "op": "DUP2"
    },
    "8618": {
      "op": "EQ"
    },
    "8619": {
      "op": "PUSH2",
      "value": "0x21B3"
    },
    "8622": {
      "op": "JUMPI"
    },
    "8623": {
      "op": "PUSH1",
      "value": "0x0"
    },
    "8625": {
      "op": "DUP1"
    },
    "8626": {
      "op": "REVERT"
    },
    "8627": {
      "op": "JUMPDEST"
    },
    "8628": {
      "op": "POP"
    },
    "8629": {
      "jump": "o",
      "op": "JUMP"
    },
    "8630": {
      "op": "JUMPDEST"
    },
    "8631": {
      "op": "PUSH1",
      "value": "0x3"
    },
    "8633": {
      "op": "DUP2"
    },
    "8634": {
      "op": "LT"
    },
    "8635": {
      "op": "PUSH2",
      "value": "0x21B3"
    },
    "8638": {
      "op": "JUMPI"
    },
    "8639": {
      "op": "PUSH1",
      "value": "0x0"
    },
    "8641": {
      "op": "DUP1"
    },
    "8642": {
      "op": "REVERT"
    }
  },
  "sha1": "c476c89b7b4af11a3a88d597e59098ff3dd1a121",
  "source": "// SPDX-License-Identifier: Apache-2.0\npragma solidity 0.8.2;\n\nimport \"../shared/CoreController.sol\";\nimport \"@etherisc/gif-interface/contracts/components/IComponent.sol\";\nimport \"@etherisc/gif-interface/contracts/components/IOracle.sol\";\nimport \"@etherisc/gif-interface/contracts/components/IProduct.sol\";\nimport \"@etherisc/gif-interface/contracts/components/IRiskpool.sol\";\nimport \"@etherisc/gif-interface/contracts/modules/IComponentEvents.sol\";\nimport \"@openzeppelin/contracts/utils/structs/EnumerableSet.sol\";\n\ncontract ComponentController is\n    IComponentEvents,\n    CoreController \n {\n    using EnumerableSet for EnumerableSet.UintSet;\n\n    mapping(uint256 => IComponent) private _componentById;\n    mapping(bytes32 => uint256) private _componentIdByName;\n    mapping(address => uint256) private _componentIdByAddress;\n\n    mapping(uint256 => IComponent.ComponentState) private _componentState;\n\n    EnumerableSet.UintSet private _products;\n    EnumerableSet.UintSet private _oracles;\n    EnumerableSet.UintSet private _riskpools;\n    uint256 private _componentCount;\n\n    mapping(uint256 /* product id */ => address /* policy flow address */) private _policyFlowByProductId;\n\n    modifier onlyComponentOwnerService() {\n        require(\n            _msgSender() == _getContractAddress(\"ComponentOwnerService\"),\n            \"ERROR:CCR-001:NOT_COMPONENT_OWNER_SERVICE\");\n        _;\n    }\n\n    modifier onlyInstanceOperatorService() {\n        require(\n            _msgSender() == _getContractAddress(\"InstanceOperatorService\"),\n            \"ERROR:CCR-002:NOT_INSTANCE_OPERATOR_SERVICE\");\n        _;\n    }\n\n    function propose(IComponent component) \n        external\n        onlyComponentOwnerService \n    {\n        // input validation\n        require(_componentIdByAddress[address(component)] == 0, \"ERROR:CCR-003:COMPONENT_ALREADY_EXISTS\");\n        require(_componentIdByName[component.getName()] == 0, \"ERROR:CCR-004:COMPONENT_NAME_ALREADY_EXISTS\");\n\n        // assigning id and persisting component\n        uint256 id = _persistComponent(component);\n\n        // log entry for successful proposal\n        emit LogComponentProposed(\n            component.getName(),\n            component.getType(),\n            address(component),\n            id);\n        \n        // inform component about successful proposal\n        component.proposalCallback();\n    }\n\n    function _persistComponent(IComponent component) \n        internal\n        returns(uint256 id)\n    {\n        // fetch next component id\n        _componentCount++;\n        id = _componentCount;\n\n        // update component state\n        _changeState(id, IComponent.ComponentState.Proposed);\n        component.setId(id);\n\n        // update controller book keeping\n        _componentById[id] = component;\n        _componentIdByName[component.getName()] = id;\n        _componentIdByAddress[address(component)] = id;\n\n        // type specific book keeping\n        if (component.isProduct()) { EnumerableSet.add(_products, id); }\n        else if (component.isOracle()) { EnumerableSet.add(_oracles, id); }\n        else if (component.isRiskpool()) { EnumerableSet.add(_riskpools, id); }\n    }\n\n    function exists(uint256 id) public view returns(bool) {\n        IComponent component = _componentById[id];\n        return (address(component) != address(0));\n    }\n\n    function approve(uint256 id) \n        external\n        onlyInstanceOperatorService \n    {\n        _changeState(id, IComponent.ComponentState.Active);\n        IComponent component = getComponent(id);\n\n        if (isProduct(id)) {\n            _policyFlowByProductId[id] = IProduct(address(component)).getPolicyFlow();\n        }\n\n        emit LogComponentApproved(id);\n        \n        // inform component about successful approval\n        component.approvalCallback();\n    }\n\n    function decline(uint256 id) \n        external\n        onlyInstanceOperatorService \n    {\n        _changeState(id, IComponent.ComponentState.Declined);\n        emit LogComponentDeclined(id);\n        \n        // inform component about decline\n        IComponent component = getComponent(id);\n        component.declineCallback();\n    }\n\n    function suspend(uint256 id) \n        external \n        onlyInstanceOperatorService \n    {\n        _changeState(id, IComponent.ComponentState.Suspended);\n        emit LogComponentSuspended(id);\n        \n        // inform component about suspending\n        IComponent component = getComponent(id);\n        component.suspendCallback();\n    }\n\n    function resume(uint256 id) \n        external \n        onlyInstanceOperatorService \n    {\n        _changeState(id, IComponent.ComponentState.Active);\n        emit LogComponentResumed(id);\n        \n        // inform component about resuming\n        IComponent component = getComponent(id);\n        component.resumeCallback();\n    }\n\n    function pause(uint256 id) \n        external \n        onlyComponentOwnerService \n    {\n        _changeState(id, IComponent.ComponentState.Paused);\n        emit LogComponentPaused(id);\n        \n        // inform component about pausing\n        IComponent component = getComponent(id);\n        component.pauseCallback();\n    }\n\n    function unpause(uint256 id) \n        external \n        onlyComponentOwnerService \n    {\n        _changeState(id, IComponent.ComponentState.Active);\n        emit LogComponentUnpaused(id);\n        \n        // inform component about unpausing\n        IComponent component = getComponent(id);\n        component.unpauseCallback();\n    }\n\n    function archiveFromComponentOwner(uint256 id) \n        external \n        onlyComponentOwnerService \n    {\n        _changeState(id, IComponent.ComponentState.Archived);\n        emit LogComponentArchived(id);\n        \n        // inform component about archiving\n        IComponent component = getComponent(id);\n        component.archiveCallback();\n    }\n\n    function archiveFromInstanceOperator(uint256 id) \n        external \n        onlyInstanceOperatorService \n    {\n        _changeState(id, IComponent.ComponentState.Archived);\n        emit LogComponentArchived(id);\n        \n        // inform component about archiving\n        IComponent component = getComponent(id);\n        component.archiveCallback();\n    }\n\n    function getComponent(uint256 id) public view returns (IComponent component) {\n        component = _componentById[id];\n        require(address(component) != address(0), \"ERROR:CCR-005:INVALID_COMPONENT_ID\");\n    }\n\n    function getComponentId(address componentAddress) public view returns (uint256 id) {\n        require(componentAddress != address(0), \"ERROR:CCR-006:COMPONENT_ADDRESS_ZERO\");\n        id = _componentIdByAddress[componentAddress];\n\n        require(id > 0, \"ERROR:CCR-007:COMPONENT_UNKNOWN\");\n    }\n\n    function getComponentType(uint256 id) public view returns (IComponent.ComponentType componentType) {\n        if (EnumerableSet.contains(_products, id)) {\n            return IComponent.ComponentType.Product;\n        } else if (EnumerableSet.contains(_oracles, id)) {\n            return IComponent.ComponentType.Oracle;\n        } else if (EnumerableSet.contains(_riskpools, id)) {\n            return IComponent.ComponentType.Riskpool;\n        } else {\n            revert(\"ERROR:CCR-008:INVALID_COMPONENT_ID\");\n        }\n    }\n\n    function getComponentState(uint256 id) public view returns (IComponent.ComponentState componentState) {\n        return _componentState[id];\n    }\n\n    function getOracleId(uint256 idx) public view returns (uint256 oracleId) {\n        return EnumerableSet.at(_oracles, idx);\n    }\n\n    function getRiskpoolId(uint256 idx) public view returns (uint256 riskpoolId) {\n        return EnumerableSet.at(_riskpools, idx);\n    }\n\n    function getProductId(uint256 idx) public view returns (uint256 productId) {\n        return EnumerableSet.at(_products, idx);\n    }\n\n    function getRequiredRole(IComponent.ComponentType componentType) external view returns (bytes32) {\n        if (componentType == IComponent.ComponentType.Product) { return _access.getProductOwnerRole(); }\n        else if (componentType == IComponent.ComponentType.Oracle) { return _access.getOracleProviderRole(); }\n        else if (componentType == IComponent.ComponentType.Riskpool) { return _access.getRiskpoolKeeperRole(); }\n        else { revert(\"ERROR:CCR-010:COMPONENT_TYPE_UNKNOWN\"); }\n    }\n\n    function components() public view returns (uint256 count) { return _componentCount; }\n    function products() public view returns (uint256 count) { return EnumerableSet.length(_products); }\n    function oracles() public view returns (uint256 count) { return EnumerableSet.length(_oracles); }\n    function riskpools() public view returns (uint256 count) { return EnumerableSet.length(_riskpools); }\n\n    function isProduct(uint256 id) public view returns (bool) { return EnumerableSet.contains(_products, id); }\n\n    function isOracle(uint256 id) public view returns (bool) { return EnumerableSet.contains(_oracles, id); }\n\n    function isRiskpool(uint256 id) public view returns (bool) { return EnumerableSet.contains(_riskpools, id); }\n\n    function getPolicyFlow(uint256 productId) public view returns (address _policyFlow) {\n        require(isProduct(productId), \"ERROR:CCR-011:UNKNOWN_PRODUCT_ID\");\n        _policyFlow = _policyFlowByProductId[productId];\n    }\n\n    function _changeState(uint256 componentId, IComponent.ComponentState newState) internal {\n        IComponent.ComponentState oldState = _componentState[componentId];\n\n        _checkStateTransition(oldState, newState);\n        _componentState[componentId] = newState;\n\n        // log entry for successful component state change\n        emit LogComponentStateChanged(componentId, oldState, newState);\n    }\n\n    function _checkStateTransition(\n        IComponent.ComponentState oldState, \n        IComponent.ComponentState newState\n    ) \n        internal \n        pure \n    {\n        require(newState != oldState, \n            \"ERROR:CCR-020:SOURCE_AND_TARGET_STATE_IDENTICAL\");\n        \n        if (oldState == IComponent.ComponentState.Created) {\n            require(newState == IComponent.ComponentState.Proposed, \n                \"ERROR:CCR-021:CREATED_INVALID_TRANSITION\");\n        } else if (oldState == IComponent.ComponentState.Proposed) {\n            require(newState == IComponent.ComponentState.Active \n                || newState == IComponent.ComponentState.Declined, \n                \"ERROR:CCR-22:PROPOSED_INVALID_TRANSITION\");\n        } else if (oldState == IComponent.ComponentState.Declined) {\n            revert(\"ERROR:CCR-023:DECLINED_IS_FINAL_STATE\");\n        } else if (oldState == IComponent.ComponentState.Active) {\n            require(newState == IComponent.ComponentState.Paused \n                || newState == IComponent.ComponentState.Suspended, \n                \"ERROR:CCR-024:ACTIVE_INVALID_TRANSITION\");\n        } else if (oldState == IComponent.ComponentState.Paused) {\n            require(newState == IComponent.ComponentState.Active\n                || newState == IComponent.ComponentState.Archived, \n                \"ERROR:CCR-025:PAUSED_INVALID_TRANSITION\");\n        } else if (oldState == IComponent.ComponentState.Suspended) {\n            require(newState == IComponent.ComponentState.Active\n                || newState == IComponent.ComponentState.Archived, \n                \"ERROR:CCR-026:SUSPENDED_INVALID_TRANSITION\");\n        } else {\n            revert(\"ERROR:CCR-027:INITIAL_STATE_NOT_HANDLED\");\n        }\n    }\n}\n",
  "sourceMap": "516:10938:75:-:0;;;;;;;;;;;;-1:-1:-1;466:22:88;:20;:22::i;:::-;516:10938:75;;5366:279:10;5434:13;;;;;;;5433:14;5425:66;;;;-1:-1:-1;;;5425:66:10;;216:2:103;5425:66:10;;;198:21:103;255:2;235:18;;;228:30;294:34;274:18;;;267:62;-1:-1:-1;;;345:18:103;;;338:37;392:19;;5425:66:10;;;;;;;;5505:12;;5520:15;5505:12;;;:30;5501:138;;;5551:12;:30;;-1:-1:-1;;5551:30:10;5566:15;5551:30;;;;;;5600:28;;564:36:103;;;5600:28:10;;552:2:103;537:18;5600:28:10;;;;;;;5501:138;5366:279::o;519:87:103:-;516:10938:75;;;;;;",
  "sourcePath": "contracts/modules/ComponentController.sol",
  "type": "contract"
}